Tag: 阵列

如何将Short / Int写入1字节缓冲区

我有这些功能: fun asByteArray(value: Short): ByteArray { val buffer: ByteBuffer = ByteBuffer.allocate(2) buffer.order(ByteOrder.BIG_ENDIAN) buffer.putShort(value) buffer.flip() return buffer.array() } fun asByteArray(value: Int): ByteArray { val buffer: ByteBuffer = ByteBuffer.allocate(4) buffer.order(ByteOrder.BIG_ENDIAN) buffer.putInt(value) buffer.flip() return buffer.array() } 如果值是255,那么我想写入1个字节的缓冲区。 我该怎么做? 如果我做ByteBuffer.allocate(1)并尝试写入short / int值,则发生BufferOverflowException。

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

我只是在kotlin的初学者水平。 我没有得到任何方式给kotlin中的数组添加值。 我想从用户获取值并将它们添加到数组中。 val arr = arrayOf<Int>() 要么 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中执行相同的操作?

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

我目前有2个数组,都包含5个对象。 所有对象都包含Int变量。 示例数据: 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") […]

Kotlin – 用数字检查数组的方式来包含数值

检查一个字符串数组是否在kotlin中包含值的惯用方法是什么? 就像ruby的#include? 。 我虽然关于: array.filter { it == "value" }.any() 有没有更好的办法?

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

我正在为一个站点编写自动化测试。 有一个页面,所有的项目添加到购物车。 最大的项目是58.而不是验证每个元素一个接一个我决定创建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我想通过使用循环在数组中输入输入,然后,我打印所有值的数组,通过使用循环,但吨只获得输入,而不是显示其他块,并通过是什么错误在附加图像上 fun main(args: Array<String>) { var arrayint = Array<Int>(5){0} var x = 1 val abc:Int = arrayint.size while( x <= abc) { arrayint[x] = readLine()!!.toInt() x++ } for(index in 0..4) { println(arrayint[index]) } }

字符串数组文字? 我如何简单地编码?

虽然这可能是一个愚蠢的问题,我不知道如何声明一个数组文字分组的一些字符串。 例如,我们假设我想要java数组["January", "February", "March"] 。 我怎样才能把这个翻译成最新的kotlin版本(today, 12.0.0) ? 我试过了什么? stringArray("January", "February", "March")

Kotlin基础知识:如何添加或设置一个Map的元素?

我想用特定的键值对添加/设置可变映射的元素。 到目前为止,我发现我可以使用plus运算符和Pair数据类型来添加新元素: var arr3:Map<Any, Any> = mutableMapOf() arr3 += Pair("manufacturer", "Weyland-Yutani") //also, the "to" operator works too: //arr3 += ("manufacturer" to "Weyland-Yutani") 但是,我找不到如何修改或添加新的键值对: arr3["manufacturer"] = "Seegson" // gives an error( Kotlin: No set method providing array access) arr3["manufacturer"] to "Seegson" // compiles, but nothing is added to the array 请你详细说明我该怎么做?

如何复制Kotlin中的二维数组?

这种方法工作正常。 但是,我认为这是不正常的。 fun getCopy(array: Array<BooleanArray>): Array<BooleanArray> { val copy = Array(array.size) { BooleanArray(array[0].size) { false } } for (i in array.indices) { for (j in array[i].indices) { copy[i][j] = array[i][j] } } return copy } 有没有更实用的方法?

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

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