Tag: 数组arrays列表

如何在Kotlin中初始化一个数组?

在Java中,可以初始化一个数组,例如: int numbers[] = new int[] {10, 20, 30, 40, 50} Kotlin的数组初始化是怎样的?

如何在kotlin中创建一个空数组?

我正在使用Array(0, {i -> “”}) ,我想知道是否有更好的实现,如Array() 另外,如果我使用arrayOfNulls(0) as Array ,编译器会提醒我这个转换永远不会成功。 但它是Array(0, {i -> “”})的默认实现。 我想念什么?

是否可以将引用传递给基本数组的第i个元素?

现在,在我的代码中的某个地方,我传递了一个对原语的引用,例如一个Int val i = 0 至 fun whatever(i: KMutableProperty0) 如 whatever(::i) 能够从函数内部获取/设置其值 一切工作到目前为止。 现在我想要为基本数组的第i个元素(如IntArray相同的IntArray val arr = intArrayOf(1, 2, 3) whatever(/* passing the reference to item 2 of arr*/) 可能吗?

如何使用流过滤并将2D IntArray映射到Set

我有一个二维的IntArray代表一个游戏板,其中-1代表一个空格,一些值大于或等于0意味着该单元属于某个玩家。 像下面的东西(-1表示点(。)) . . . . . 1 0 . . 2 0 . 1 3 3 4 3 . . 0 我想要得到一个已经被任何玩家占用的单元格的位置。 像这样的东西: [Cell{1,0}, Cell{1,1}, …, Cell{3,4}] 我知道第一种方法是迭代2D数组: val set = HashSet(); for(row in 0 until HEIGHT){ for (col in 0 until WIDTH){ if(board[row][col] >= 0) set.add(Cell(row, col)) } } 但是…如果我使用流,它会更有效吗? 是否可以用更少的代码和更有效的方式来实现? IntStream.range(0, HEIGHT) […]

如何在Kotlin中创建一个固定大小的IntArray并初始化数组?

我只是在kotlin的初学者水平。 我没有得到任何方式给kotlin中的数组添加值。 我想从用户获取值并将它们添加到数组中。 val arr = arrayOf() 要么 var arr = intArrayOf() 像Java一样, Scanner ob=new Scanner(System.in); int arr[]=new int[5]; for(int i=0;i<arr.length;i++) { arr[i]=ob.nextInt(); } 如何在kotlin中执行相同的操作?

有没有办法从一个范围创建一个非null数组?

在Java中,可以使用传统的for循环创建一个简单的数组: ImageButton[] buttons = new ImageButton[count]; for (int i = 0; i < count; i++) { buttons[i] = view.findViewById(BUTTON_IDS[i]); } 简单的转换为Kotlin会产生以下结果: val buttons = arrayOfNulls(count) for (i in 0..count) { buttons[i] = view.findViewById(BUTTON_IDS[i]) } 这个问题是,现在数组中的每个元素是可选的; 这与我的代码谜语? 运营商。 有没有办法以类似的方式创建一个数组,但没有可选的types?

如何find哪个元素在Kotlin中的数组比较失败?

我正在为一个站点编写自动化测试。 有一个页面,所有的项目添加到购物车。 最大的项目是58.而不是validation每个元素一个接一个我决定创建2个arrays填充strings :1与正确的名称: String和1名称: String我从网站。 然后我将这两个数组与contentEquals进行比较。 如果这种比较失败了,我怎么知道究竟哪个元素导致了比较失败? 简单的我现在有什么: @Test fun verifyNamesOfAddedItems () { val getAllElementsNames = arrayOf(materials.text, element2.text, element3.text…) val correctElementsNames = arrayOf(“name1”, “name2”, “name3″…) val areArraysEqual = getAllElementsNames contentEquals correctElementsNames if (!areArraysEqual) { assert(false) } else { assert(true) } } 如果2个数组不一致,但是它不会显示细节,那么有没有办法看到更多的失败细节,例如失败的比较元素? 谢谢。

如何在Kotlin上实现readLine()!!。toIntArray()?

我想实现一个函数或某种方式来从控制台顺序存储数组 。 像这样的东西: readLine()!!.toIntArray() 使用这个循环是否方便?还是可以避免? 然后你可以使用数组的索引来访问它们。 fun main(args: Array) { myFunction() } A: fun myFunction() { println(” . First number: “) val num1:Float = readLine()!!.toFloat() println(” . Second number: “) val num2:Float = readLine()!!.toFloat() println(” . Third number: “) val num3:Float = readLine()!!.toFloat() println(” . Fourth number: “) val num4:Float = readLine()!!.toFloat() val result:Float = […]

为什么我们有在Kotlin中命名为componentN的函数?

我刚刚看了Kotlin 标准库 ,发现了一些奇怪的扩展函数叫做componentN ,其中N是从1到5的索引。 有所有types的原语的函数。 例如: /** * Returns 1st *element* from the collection. */ @kotlin.internal.InlineOnly public inline operator fun IntArray.component1(): Int { return get(0) } 它看起来好奇。 我对开发者的动机很感兴趣。 调用array.component1()而不是array[0]更好吗?

Kotlin从2个数组中过滤最大值的方法?

我目前有2个数组,都包含5个对象。 所有对象都包含Intvariables。 样本数据: data class Demo(val number: Int, val name: String) val a = Demo(12, “a”) val b = Demo(1, “b”) val c = Demo(3, “c”) val d = Demo(5, “d”) val e = Demo(17, “e”) val array1 = arrayOf(a,b,c,d,e) val f = Demo(3, “f”) val g = Demo(8, “g”) val h = Demo(15, “h”) […]