当前位置: 首页 > news >正文

kotlin 内置函数对数组进行各种操作

以下是一些常见的用法示例:

  • plus() 函数将两个数组合并成一个数组。plus() 函数是 Kotlin 标准库中的一个扩展函数,可以用于合并两个同类型的数组。
    fun main() {val array1 = arrayOf(1, 2, 3)val array2 = arrayOf(4, 5, 6)val mergedArray = array1.plus(array2)println(mergedArray.contentToString()) // 输出 [1, 2, 3, 4, 5, 6]
    }

  • 使用 minus() 函数从数组中移除指定元素,并返回新的数组
val array = arrayOf(1, 2, 3, 4, 5)
val newArray = array.minus(3) // 移除元素 3
println(newArray.contentToString()) // 输出 [1, 2, 4, 5]
  • 使用 slice() 函数获取数组中指定位置的元素,并返回新的数组:
val array = arrayOf(1, 2, 3, 4, 5)
val slicedArray = array.slice(1..3) // 获取索引为 1 到 3 的元素
println(slicedArray.contentToString()) // 输出 [2, 3, 4]
  • 使用 chunked() 函数将数组分成指定大小的块,并返回一个列表:
val array = arrayOf(1, 2, 3, 4, 5)
val chunkedList = array.chunked(2) // 将数组分成大小为 2 的块
println(chunkedList) // 输出 [[1, 2], [3, 4], [5]]
  • 使用 distinct() 函数获取数组中不同的元素,并返回新的数组
val array = arrayOf(1, 2, 2, 3, 3, 4, 5)
val distinctArray = array.distinct() // 获取不同的元素
println(distinctArray.contentToString()) // 输出 [1, 2, 3, 4, 5]

    find():用于在数组中查找符合指定条件的元素,并返回该元素

val numbers = listOf(1, 2, 3, 4, 5)val result = numbers.find { it % 2 == 0 }println(result) // 输出:2
  • joinToString():用于将数组中的元素连接成字符串,并返回该字符串。
fun main() {  val array = arrayOf("Hello", "World")  val result = array.joinToString()  println(result) // 输出 "HelloWorld"  
}
  • map():用于根据指定规则将数组中的元素进行映射,并返回一个新的数组。
fun String.toUpperCase(): String {  return this.toUpperCase()  
}  val strings = listOf("apple", "banana", "cherry")  // 使用自定义的 toUpperCase() 函数将字符串转换为大写  
val upperCaseStrings = strings.map { it.toUpperCase() }  println(upperCaseStrings) // 输出 [APPLE, BANANA, CHERRY]

  • sum():用于计算数组中所有元素的和。
fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  // 使用 sum() 函数计算所有数字的总和  val sum = numbers.sum()  println("Sum of numbers: $sum") // 输出 "Sum of numbers: 15"  
}
  • first():返回第一个元素
fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  // 使用 first() 函数获取第一个数字  val firstNumber = numbers.first()  println("First number: $firstNumber") // 输出 "First number: 1"  
}
  • last():返回最后一个元素
fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  // 使用 last() 函数获取最后一个数字  val lastNumber = numbers.last()  println("Last number: $lastNumber") // 输出 "Last number: 5"  
}
  • firstOrNull():返回第一个元素,如果数组为空则返回null
  • lastOrNull():返回最后一个元素,如果数组为空则返回null
  • getOrNull():根据下标获取元素,如果下标越界则返回null
val map = mapOf("apple" to 1, "banana" to 2, "orange" to 3)  // 获取键为 "apple" 的值,如果不存在则返回 null  
val appleValue = map.getOrNull("apple")  
println("Apple value: $appleValue") // 输出 "Apple value: 1"  // 获取键为 "grape" 的值,如果不存在则返回 null  
val grapeValue = map.getOrNull("grape")  
println("Grape value: $grapeValue") // 输出 "Grape value: null"
  • take():获取前n个元素
  • fun main() {  val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)  // 使用 take() 函数获取前三个数字  val result = numbers.take(3)  // 遍历并打印结果  for (num in result) {  println(num)  }  
    }
    我们使用循环遍历并打印结果。输出将为:1  
    2  
    3
    
  • takeLast():获取后n个元素
  • fun main() {  val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)  // 使用 takeLast() 函数获取最后三个数字  val result = numbers.takeLast(3)  // 遍历并打印结果  for (num in result) {  println(num)  }  
    }
    输出将为:7  
    8  
    9
    
  • drop():去除前n个元素
  •  val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)// 使用 drop() 函数删除前三个数字val result = numbers.drop(3)// 打印删除元素后的新序列println(result) // 输出 [4, 5, 6, 7, 8, 9, 10]

  • dropLast():去除后n个元素
  •                                                 
    var numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, // 使用 dropLast() 函数删除最后三个数字并将结果分配回原始列表          
    numbers = numbers.dropLast(3)                   // 打印修改后的原始列表                                   
    println(numbers) // 输出 [1, 2, 3, 4, 5, 6, 7]    

  • filter():根据条件筛选元素
  • fun main() {  val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)  // 使用 filter() 函数筛选出偶数并打印  val evenNumbers = numbers.filter { it % 2 == 0 }  println(evenNumbers)  // 输出:[2, 4, 6, 8, 10]  
    }

  • map():对每个元素执行指定操作
  • fun main() {  // 创建一个包含字符串的列表  val strings = listOf("apple", "banana", "orange")  // 使用 map() 函数将字符串转换为它们的长度,并打印结果  val lengths = strings.map { it.length }  println(lengths)  // 输出:[6, 6, 5]  
    }
  • flatMap():对每个元素执行指定操作,并将结果合并到一个列表中
  • fun main() {  val listOfLists = listOf(listOf(1, 2, 3), listOf(4, 5, 6), listOf(7, 8, 9))  val flattenedList = listOfLists.flatMap { it }  println(flattenedList) // 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]  
    }

  • distinct():去除重复元素
    fun main() {  val numbers = listOf(1, 2, 2, 3, 4, 4, 5)  val uniqueNumbers = numbers.distinct()  println(uniqueNumbers) // 输出了 [1, 2, 3, 4, 5]  
    }

distinctBy():根据指定条件去除重复元素

fun main() {  val items = listOf("apple", "banana", "cherry", "date", "elderberry")  val distinctItems = items.distinctBy { it.length }  println(distinctItems) // 输出了 [apple, banana, cherry, date]  
}
  • contains():判断数组是否包含指定元素
fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val containsThree = numbers.contains(3)  println(containsThree) // 输出:true  
}
  • indexOf():获取指定元素的下标,如果不存在则返回-1
fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val index = numbers.indexOf(3)  println("The index of 3 is: $index") // 输出:The index of 3 is: 2  
}
我们打印出结果,显示数字 3 在列表中的位置。请注意,indexOf() 函数返回的是该元素在列表中的位置,索引从 0 开始。
  • lastIndexOf():获取指定元素的最后一个下标,如果不存在则返回-1
    fun main() {  val numbers = listOf(1, 2, 3, 4, 5, 3)  val lastIndex = numbers.lastIndexOf(3)  println("The last index of 3 is: $lastIndex") // 输出:The last index of 3 is: 5  
    }

  • partition():根据条件分成两个数组
  • fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val (evenNumbers, oddNumbers) = numbers.partition { it % 2 == 0 }  println("Even numbers: $evenNumbers") // 输出:[2, 4]  println("Odd numbers: $oddNumbers") // 输出:[1, 3, 5]  
    }

  • groupBy():根据条件将元素分组到不同的数组中
  • fun main() {  val items = listOf("apple", "banana", "cherry", "date", "elderberry")  val itemGroups = items.groupBy { it.length }  for ((key, value) in itemGroups) {  println("Items with length $key: $value")  }  
    }答案输出:
    Items with length 5: [apple]
    Items with length 6: [banana, cherry]
    Items with length 4: [date]
    Items with length 10: [elderberry]

  • sum():计算元素的总和
    fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val sum = numbers.sum()  println("The sum of the numbers is: $sum") // 输出:The sum of the numbers is: 15  
    }
  • average():计算元素的平均值
    fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val average = numbers.average()  println("The average of the numbers is: $average") // 输出:The average of the numbers is: 3.0  
    }
    
  • max():获取最大元素
  • fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val maxNumber = numbers.max()  println("The maximum number is: $maxNumber") // 输出:The maximum number is: 5  
    }
  • min():获取最小元素
  • reduce():对元素进行累加
fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val result = numbers.reduce { acc, num -> acc + num }  println("The sum of the numbers is: $result") // 输出:The sum of the numbers is: 15  
}
  • fold():对元素进行累加,并可以指定初始值
  • fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val result = numbers.fold(0) { acc, num -> acc + num }  println("The sum of the numbers is: $result") // 输出:The sum of the numbers is: 15  
    }

  • forEach():遍历元素并执行指定操作
    fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  numbers.forEach { println(it) }  
    }
    将会输出以下内容:1  
    2  
    3  
    4  
    5
    

  • forEachIndexed():遍历元素并获取索引,执行指定操作
    fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  numbers.forEachIndexed { index, num -> println("Index $index: $num") }  
    }将会输出以下内容:Index 0: 1  
    Index 1: 2  
    Index 2: 3  
    Index 3: 4  
    Index 4: 5
    

  • zip():将两个数组合并成一个新数组,每个元素都是一对。
    fun main() {  val list1 = listOf("a", "b", "c")  val list2 = listOf(1, 2, 3)  val zippedList = list1.zip(list2) { a, b -> Pair(a, b) }  zippedList.forEach { println(it) }  
    }将会输出以下内容:复制代码
    Pair(a, 1)  
    Pair(b, 2)  
    Pair(c, 3)
    

  • all():判断所有元素是否都满足指定条件
    fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val allPositive = numbers.all { it > 0 }  println("All numbers are positive: $allPositive") // 输出:All numbers are positive: true  
    }

  • any():判断是否有任何元素满足指定条件
    fun main() {  val numbers = listOf(1, 2, -3, 4, 5)  val hasNegative = numbers.any { it < 0 }  println("Numbers have negative value: $hasNegative") // 输出:Numbers have negative value: true  
    }

  • none():判断是否所有元素都不满足指定条件
    fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val hasNegative = numbers.none { it < 0 }  println("Numbers have no negative value: $hasNegative") // 输出:Numbers have no negative value: true  
    }

  • associate():将每个元素转化为Pair对象,并返回一个Map
    fun main() {  val numbers = listOf(1, 2, 3, 4, 5)  val associatedMap = numbers.associate { it to it }  println("Associated map: $associatedMap")  
    }输出
    Associated map: {1=1, 2=2, 3=3, 4=4, 5=5}

  • associateBy():根据指定条件生成key,并将元素转化为value,返回一个Map
    fun main() {  val people = listOf("David", "Bob", "Charlie", "Alice")val associatedMap = people.associateBy { it.length }  println("Associated map: $associatedMap")  
    }Associated map: {5=Alice, 3=Bob, 7=Charlie}
    

  • associateWith():将每个元素转化为key,并根据指定条件生成value,返回一个Map
  •   val people = listOf("Alice", "Bob", "Charlie", "David") val associatedMap = people.associateWith { it.length }  println("Associated map: $associatedMap")               
    Associated map: {Alice=5, Bob=3, Charlie=7, David=5}

  • flatMapTo():将每个元素执行指定操作,并将结果合并到一个指定类型的列表中
  •  val numbers = listOf(1, 2, 3, 4, 5)  val flattened = numbers.flatMapTo(HashSet<Int>()) { setOf(it * 2) }println("Flattened list: $flattened")
    
  • mapTo():将每个元素执行指定操作,并将结果合并到一个指定类型的列表中
  • val numbers = listOf(1, 2, 3, 4, 5)    
    val squaredNumbers = numbers.mapTo(ArrayList<Int>()) { it * it }
    println("Squared numbers: $squaredNumbers")输出结果:Squared numbers: [1, 4, 9, 16, 25]
    

  • reduceIndexed():对元素进行累加,并可以访问索引
    val numbers = listOf(1, 2, 3, 4, 5)val result = numbers.reduceIndexed { index, acc, value ->if (index % 2 == 0) {acc + value} else {acc - value}
    }println("Result: $result")
    输出结果将会是:Result: 3

  • foldIndexed():对元素进行累加,并可以访问索引,并可以指定初始值
    val numbers = listOf(1, 2, 3, 4, 5)val result = numbers.foldIndexed(0) { index, acc, value ->if (index % 2 == 0) {acc + value} else {acc - value}
    }println("Result: $result")输出结果将会是:Result: 3
    

相关文章:

kotlin 内置函数对数组进行各种操作

以下是一些常见的用法示例&#xff1a; plus() 函数将两个数组合并成一个数组。plus() 函数是 Kotlin 标准库中的一个扩展函数&#xff0c;可以用于合并两个同类型的数组。 fun main() {val array1 arrayOf(1, 2, 3)val array2 arrayOf(4, 5, 6)val mergedArray array1.plu…...

力扣labuladong——一刷day54

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣1660. 纠正二叉树二、力扣100. 相同的树三、力扣572. 另一棵树的子树四、力扣101. 对称二叉树 前言 判断树是否相等&#xff0c;就直接遍历就可以。判断…...

3、MSF使用

文章目录 一、利用ms17-010漏洞对靶机执行溢出攻击二、后渗透模块meterpreter的使用 一、利用ms17-010漏洞对靶机执行溢出攻击 分别输入以下命令&#xff0c;使用ms17_010_eternalblue模块对目标机的ms17-010漏洞进行利用&#xff1a; use exploit/windows/smb/ms17_010_eter…...

34970A 数据采集 / 数据记录仪开关单元

34970A 数据采集 / 数据记录仪开关单元 产品综述&#xff1a; Keysight 34970A 数据采集/数据记录仪开关单元由一个 3 插槽主机和一个内置的 6 1/2 位数字万用表组成。每个通道可以单独配置&#xff0c;以测量 11 种不同功能之一&#xff0c;这样既不会增加成本&#xff0c;也…...

BUUCTF刷题之路-web-[GXYCTF2019]Ping Ping Ping1

启动环境后&#xff0c;是一个简简单单的页面&#xff1a; 看样子是能够触发远程执行漏洞的。尝试下ping 127.0.0.1&#xff0c;如果有回显说明我们的想法是对的。 最近才学习的nc反弹shell。想着是否能用nc反弹shell的办法。控制服务器然后输出flag呢&#xff1f;于是我测试下…...

一、深入简出串口(USRT)通信——基本概念。

一、前言 串口到底是什么&#xff1f;简单来说一句话就可以解释&#xff0c;串口就是一种通信协议。 看到这里可能大家会觉得你这不是放屁么&#xff0c;说了跟没说一样。所以这里做前言来描述&#xff0c;大家要先对通信协议有一个下意识地认识才能在学习串口的时候不至于迷茫…...

采用connector-c++ 8.0操作数据库

1.下载最新的Connector https://dev.mysql.com/downloads/connector/cpp/&#xff0c;下载带debug的库。 解压缩到本地&#xff0c;本次使用的是带debug模式的connector库&#xff1a; 注&#xff1a;其中mysqlcppconn与mysqlcppconn8的区别是&#xff1a; 2.在cmakelist…...

【Java数据结构 -- 时间和空间复杂度】

时间和空间复杂度 1. 算法效率2. 时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3 推导大O阶方法2.4 常见时间复杂度计算举例例1例2例3例4 计算 bubbleSort的时间复杂度例5 计算binarySearch的时间复杂度&#xff1f;例6 计算阶乘递归factorial的时间复杂度&#xff1f;…...

【每日一题】1457. 二叉树中的伪回文路径-2023.11.25

题目&#xff1a; 1457. 二叉树中的伪回文路径 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路…...

能让PDF看起来像是扫描件的Look Scanned

什么是 Look Scanned ? Look Scanned 是一个能够让 PDF 看起来就像是扫描件一样的纯前端网站。你再也不需要麻烦地打印之后扫描了&#xff0c;你所需要的就是鼠标点几下。 这是个挺有意思的软件&#xff0c;但是老苏不确定什么场景下会用到这个软件&#xff0c;如果不想自己搭…...

RT-DETR 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU

文章目录 更换方式CIoUDIoUEIoUGIoUSIoUWIoUFocal_CIoUFocal_DIoUFocal_EIoUFocal_GIoUFocal_SIoU提示更换方式 第一步:将ultralytics/ultralytics/utils/metrics.py文件中的bbox_iou替换为如下的代码:class...

代码随想录算法训练营第四十六天 | 139.单词拆分,多重背包,背包问题总结

目录 139.单词拆分 多重背包 背包问题总结 01背包 完全背包 多重背包 139.单词拆分 题目链接&#xff1a;139. 单词拆分 不要求字典中的单词全部使用&#xff0c;但是要求拆分的单词拆分成的每一个子串都是字典中的单词。 &#xff08;1&#xff09;dp[ i ] 表示前 i 个字符组成…...

opencv-Canny 边缘检测

Canny边缘检测是一种经典的图像边缘检测算法&#xff0c;它在图像中找到强度梯度的变化&#xff0c;从而识别出图像中的边缘。Canny边缘检测的优点包括高灵敏度和低误检率。 在OpenCV中&#xff0c;cv2.Canny() 函数用于执行Canny边缘检测。 基本语法如下&#xff1a; edges…...

案例023:基于微信小程序的童装商城的设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…...

Ansible的循环:loop,with_<lookup>和until

环境 管理节点&#xff1a;Ubuntu 22.04控制节点&#xff1a;CentOS 8Ansible&#xff1a;2.15.6 循环的方法 loopwith_<lookup>until 用这几种方式都可以实现循环。其中&#xff0c; loop 是推荐的用法&#xff0c;在很多时候能够替换 with_<lookup> 。 loop…...

点云 surface 方法总结

点云的表面方法是指通过点云数据来估计和重建物体或场景的表面几何形状。下面总结了几种常见的点云表面方法&#xff1a; 三角化&#xff1a;三角化是最常用的点云表面重建方法之一。它将点云中的点连接成三角形网格&#xff0c;从而重建出物体或场景的表面。常见的三角化算法…...

深入探索Linux文件系统:属性、路径与隐藏之谜

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Linux系统理论 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言&#x1f324;️文件的组成☁️文件属性☁️文件内容☁️注意事项 &#x1f324;️路…...

梯度详解与优化实战

什么是梯度 对所有自变量求偏微分构成的向量&#xff0c;它是一个向量&#xff08;有大小和函数值增长方向&#xff09; 导数是一个标量 找最小值点坐标的案例 import torchimport numpy as np import matplotlib.pyplot as plt def himmelblau(x):return (x[0]**2x[1]-11)…...

OSG编程指南<十二>:OSG二三维文字创建及文字特效

1、字体基础知识 适当的文字信息对于显示场景信息是非常重要的。在 OSG 中&#xff0c;osgText提供了向场景中添加文字的强大功能&#xff0c;由于有第三方插件 FreeType 的支持&#xff0c;它完全支持TrueType 字体。很多人可能对 FreeType 和 TrueType 还不太了解&#xff0c…...

visionOS空间计算实战开发教程Day 6 拖拽和点击

在之前的学习中我们在空间中添加了3D模型&#xff0c;但在初始摆放后就无法再对其进行移动或做出修改。本节我们在​​Day 5​​显示和隐藏的基础上让我们模型可以实现拖拽效果&#xff0c;同时对纯色的立方体实现点击随机换色的功能。 首先是入口文件&#xff0c;无需做出改变…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…...

C++11 constexpr和字面类型:从入门到精通

文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...