java怎么比較兩個(gè)list中對(duì)象的值

小億
651
2024-02-29 12:45:18
欄目: 編程語言

在Java中比較兩個(gè)List中對(duì)象的值可以通過以下幾種方法:

  1. 使用equals()方法比較兩個(gè)List中的對(duì)象值是否相等。可以通過遍歷兩個(gè)List中的對(duì)象逐個(gè)比較,或者直接使用List的equals()方法進(jìn)行比較。
List<Object> list1 = new ArrayList<>();
List<Object> list2 = new ArrayList<>();

// 添加對(duì)象到list1和list2中

if(list1.equals(list2)){
    System.out.println("兩個(gè)List中的對(duì)象值相等");
} else {
    System.out.println("兩個(gè)List中的對(duì)象值不相等");
}
  1. 使用Collections的containsAll()方法比較兩個(gè)List中的對(duì)象值是否相等。該方法會(huì)比較兩個(gè)List中的元素是否一致,不考慮元素的順序。
List<Object> list1 = new ArrayList<>();
List<Object> list2 = new ArrayList<>();

// 添加對(duì)象到list1和list2中

if(list1.size() == list2.size() && list1.containsAll(list2)){
    System.out.println("兩個(gè)List中的對(duì)象值相等");
} else {
    System.out.println("兩個(gè)List中的對(duì)象值不相等");
}
  1. 使用Stream API進(jìn)行比較??梢詫蓚€(gè)List中的對(duì)象轉(zhuǎn)換為Stream,然后使用Stream的equals()方法比較兩個(gè)Stream是否相等。
List<Object> list1 = new ArrayList<>();
List<Object> list2 = new ArrayList<>();

// 添加對(duì)象到list1和list2中

boolean isEqual = list1.stream()
                        .allMatch(obj -> list2.contains(obj)) 
                        && list2.stream()
                                .allMatch(obj -> list1.contains(obj));

if(isEqual){
    System.out.println("兩個(gè)List中的對(duì)象值相等");
} else {
    System.out.println("兩個(gè)List中的對(duì)象值不相等");
}

0