1.怎么判断两个list
相等,有什么方法?
//比如这两个list
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
List<Integer> listOne = new ArrayList<>();
listOne.add(3);
listOne.add(2);
listOne.add(1);
2.我能想到的解决方法就是自己写equals
public static boolean equals(List<Integer> listOne,List<Integer> listTwo) {
if(listOne ==null || listTwo == null){
return false;
}
int length = listOne.size();
int count = 0;
for(Integer a : listOne){
if(listTwo.contains(a)){
count +=1;
}
}
if(count == length){
return true;
}
return false;
}
3.还有没有更好的解决方法?
如果要判断两个数组完全相等(即List元素的顺序也一致),可以用
ListUtils.isEqualList(Collection<?> list1, Collection<?> list2)
import org.apache.commons.collections4.ListUtils;
如果按楼主的需求,我可能会这么写