天天看點

java 判斷兩個list是否相等的方法

 以下示例可以當做一個反面教材,實際是錯誤的。

public static boolean isEquals(List<String> list1,List<String> list2){
        if(null != list1 && null != list2){
            if(list1.containsAll(list2) && list2.containsAll(list1)){
                return true;
            }
            return false;
        }
        return true;
    }      

顧感謝博友: @留住風的小樹【】授權的解決方案,以免讓更多的小夥伴被上邊的典型的錯誤代碼誤導。

<dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.1</version>
    </dependency>      
public static void main(String[] args) {
        List<String> list1 = new ArrayList<>();
        List<String> list2 = new ArrayList<>();
        list1.add("1");
        list1.add("1");
        list2.add("1");
        boolean isequal = ListUtils.isEqualList(list1,list2);           //如果相等就傳回true
        System.out.println(isequal);
}      

繼續閱讀