[英]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.