我正在循環查找某個特定條目,然後將其分配給一個變量並嘗試稍後將其刪除。演示比解釋更容易。如何從對象列表中提取K個「最小」元素?
ArrayList<Example> list1 = populate();
Example ex1 = list1.get(0);
Example ex2 = ex1;
list1.remove(ex2);
我知道這可能有事情做與Java的無法處理的指針,而是一個可行的解決方案將是巨大的。
編輯:爲了詳細說明,這是我的代碼的一個簡單示例,而不是給你完整的東西。我正在做的是遍歷列表來找到最低的10個數字。我的技術是查看列表,找到最低值並將其添加到另一個列表中,然後從原始列表中刪除該數字並重復。但是我的列表是由內部具有int值的對象組成的,而不是整數列表。
for(0 to 9){
for(0 to list.size){
if(list.get(x) < smallest)
smallest = list.get(x)
}
smallestList.add(smallest);
list.remove(smallest)
}
你能否詳細說明一下,你想達到什麼目的? – sanbhat 2013-05-03 11:45:42
這裏有點不清楚你的意思。從列表中刪除元素很好,將它們分配給變量也很好,但由於ex2和ex1在這裏相同,所以您將刪除ex1。那是你要的嗎? – 2013-05-03 11:46:10
這對我來說很好。問題是什麼? – 2013-05-03 11:46:26