【问题标题】:Is it possible to create a ByteArray of ByteArrays as elements in kotlin?是否可以在 kotlin 中创建一个 ByteArray 的 ByteArray 作为元素?
【发布时间】:2020-02-17 13:57:28
【问题描述】:

我在创建 ByteArray var 时遇到了一些问题,其中它的元素也是 ByteArray,我不知道首先可能吗?以及如何?

【问题讨论】:

  • 向我们展示您在代码或研究方面的尝试,请具体说明。
  • 这个怎么样:List listOfByteArrays = new ArrayList();
  • 您是否正在尝试创建一个字节数组列表?字节数组意味着只保存字节
  • 确定我有一个名为 allByteArray:ByteArray 的变量,我想在该变量的每个索引中放入一个 ByteArray 我需要 类似:[[1,2,3],[4,5, 6],[7,8,9]] @TaseerAhmad

标签: java android arrays kotlin


【解决方案1】:

ByteArray 就是它听起来的样子,一个字节数组。如果您想保留多个字节数组,您可以使用通用列表或数组。

类似这样的:

// say you have three byte arrays
val ba1 = ByteArray(3) { it.toByte() }
val ba2 = ByteArray(3) { (it + 3).toByte() }
val ba3 = ByteArray(3) { (it + 6).toByte() }

// make a list of them like so
val allByteArray = listOf(ba1, ba2, ba3)

根据您最近的评论,您可能希望循环添加到 allByteArray,如果是这种情况,您也可以像这样使用ArrayList

val allByteArray = ArrayList<ByteArray>()
for (i in 0 until 3) {
    // some byte array
    val ba = ByteArray(3) { (it + (i*3)).toByte() }

    // add to list
    allByteArray.add(ba)
}

也正如 Alexey Romanov 所建议的,您可以在 MutableList 的构造函数中执行此操作(或者如果列表不需要可变,则可以使用列表完成相同的操作),如下所示:

val allByteArray = MutableList(3) { i ->
    ByteArray(3) { (it + (i*3)).toByte() }
}

【讨论】:

  • 在循环中,新的 ByteArray 会删除最旧的,不是吗?
  • @RIKI 不完全确定您在问什么,您是否尝试将一堆字节数组附加到 for 循环内的列表中?
  • @RIKI 如果此答案有助于解决您的问题,那么您应该投票并标记为类似 [i.stack.imgur.com/LkiIZ.png 的答案
  • 我试过了,但是显示了这个弹出窗口 感谢您的反馈!声望低于 15 人的投票将被记录,但不会更改公开显示的帖子得分。抱歉,这里是网站政策
  • 最后最好使用MutableList(3) { i -&gt; ... }构造函数。
【解决方案2】:

也许您正在寻找一个二维字节数组?您可以创建一个 ByteArrays 数组:

val array = Array(3){ByteArray(3)}
array[0][1] = 3 // for example

或在声明时对其进行初始化:

val array = arrayOf(
    byteArrayOf(0, 1, 2),
    byteArrayOf(3, 4, 5),
    byteArrayOf(6, 7, 0)
)

在 Java 中这将是:

byte[][] array = new byte[3][3];
// or
byte[][] array = {
    {0, 1, 2},
    {3, 4, 5},
    {6, 7, 0},
}

【讨论】:

    猜你喜欢
    • 2018-12-26
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    相关资源
    最近更新 更多