簡體   English   中英

Kotlin 隊列返回對象

[英]Kotlin Queue returning object

我正在嘗試創建一個列表隊列

到目前為止我有這個

var queue = LinkedList<Array<IntArray>>()
queue.add(arrayOf(intArrayOf(1,2,0)))
queue.add(arrayOf(intArrayOf(3,4,5)))
Log.d("debugVal",queue.poll()[0].toString())

它返回這樣的東西

D/debugVal: [I@81fc7ad

我期待它打印 1

我認為它正在返回一個對象。 有人可以告訴我如何從輪詢元素中檢索列表值我需要每個輪詢元素中的所有三個值

使用queue.poll()方法返回的元素是Array<IntArray> ,而不是IntArray 當您調用queue.poll()[0]您將獲得該Array<IntArray>的第一個元素,因此是IntArray 如果你想獲取IntArray的第一個元素,你應該調用queue.poll()[0][0]

var queue = LinkedList<Array<IntArray>>()
queue.add(arrayOf(intArrayOf(1, 2, 0)))
queue.add(arrayOf(intArrayOf(3, 44, 10)))
Log.d("debugVal", queue.poll()[0][0].toString())

此外,由於您說您希望它打印3 ,請記住poll()刪除第一個元素,而不是最后一個。 如果你想刪除最后一個,你可以調用pollLast()而不是poll()

好像我在隊列中放了一個數組數組

正確的代碼應該是

var queue = LinkedList<Array<Int>>()
queue.add(arrayOf(1,2,0))
queue.add(arrayOf(3,4,5))
Log.d("alpha",queue.poll()[0].toString())

現在我按預期得到 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM