2016-03-02 68 views
1

基本上我想知道如何檢查兩個列表以查看列表中的元素的排列位置是否與列表集合Collections.sort排序後相同如:在排序一個列表中的元素後檢查兩個列表中的命令相等

List<String> first = new ArrayList<String>(); 
a.add("one"); 
a.add("two"); 
List<String> second = new ArrayList<String>(); 
b.add("two"); 
b.add("one"); 
Collections.sort(second); 

然後檢查一個列表在同一順序的元素,返回一個布爾值false如果元素的位置是相同的,否則返回true。

PS:我雖然只是檢查最後一個元素的位置,但我不知道這是否是一個很好的方法來做到這一點。

回答

3

在對其中一個列表進行排序後,只需使用first.equals(second)即可。如果兩者都具有相同數量的元素並且元素是成對相等的,則您將成爲真實。

當然,這依賴於列表的元素類型,以正確覆蓋equals

+0

這可能不適用於字符串以外的其他對象 – Lathy

+0

@Lathy我確實寫了我認爲列表覆蓋等於的元素類型。在這個假設下,它適用於任何元素類型。 – Eran

+1

不錯。巴格羅斯:希望你明白! – Lathy

相關問題