我有一個ArrayList,其中包含一系列整數(represnting在另一個ArrayList中的索引)。從Java中的ArrayList獲取唯一的元素對
我需要提取每個獨特的對如...
ArrayList = 1,4,5,7
我需要:
1:4
1:5
1:7
4:5
4:7
5:7
什麼是實現這一目標的最簡單的方法?
我有一個ArrayList,其中包含一系列整數(represnting在另一個ArrayList中的索引)。從Java中的ArrayList獲取唯一的元素對
我需要提取每個獨特的對如...
ArrayList = 1,4,5,7
我需要:
1:4
1:5
1:7
4:5
4:7
5:7
什麼是實現這一目標的最簡單的方法?
轉換列表Set
和回List
獨特的過濾
for(int i = 0 ; i < list.size(); i ++){
for(int j = i+1 ; j < list.size(); j ++){
System.out.println(list.get(i) + "," + .list.get(j))
}
}
謝謝 - 看起來很完美 – Basic
不客氣:) –
經過第一要素所有可能的選擇井環。對於其中的每一個,循環通過所有可能的選擇。
我會將找到的重複部分留給您(提示:使用Set
)。
您可以有兩個索引:一個用於第一部分,另一個用於第二部分。然後以第一種形式開始,直到最後一個元素,然後在內部循環中循環遍歷第一個,從第一個到第一個到最後。
這會生成不唯一的配對。 –
@SeanOwen - 爲什麼這樣?第二個總是從第一個之後開始,所以沒有一對會遇到多次 - 見Jigar的答案,它基本上是相同的 – Attila
因爲原始列表可能有重複的值 - 但是,OP只是澄清它不會。如果是的話,這就好了。 –
@SimplyPanda不是很多 - 這顯然非常簡單。我可以通過在檢查時將東西推到數組上來解決它,但它看起來像是過度殺傷。這是用於一個非常簡單的物理引擎中的其他人的代碼。我們已經減少了特定網格中的對象,並且需要有效地選擇對來測試碰撞。由於這看起來應該是一個班輪,我希望有人能給我一個快速的答案 – Basic
您是否在尋找一個易於實施或高效?該陣列有多少個iters? – ssedano
@ssedano潛在的幾千 – Basic