2016-03-02 73 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

相关问题