温馨提示×

java怎么比较两个list中对象的值

小亿
197
2024-02-29 12:45:18
栏目: 编程语言

在Java中比较两个List中对象的值可以通过以下几种方法:

  1. 使用equals()方法比较两个List中的对象值是否相等。可以通过遍历两个List中的对象逐个比较,或者直接使用List的equals()方法进行比较。
List<Object> list1 = new ArrayList<>();
List<Object> list2 = new ArrayList<>();

// 添加对象到list1和list2中

if(list1.equals(list2)){
    System.out.println("两个List中的对象值相等");
} else {
    System.out.println("两个List中的对象值不相等");
}
  1. 使用Collections的containsAll()方法比较两个List中的对象值是否相等。该方法会比较两个List中的元素是否一致,不考虑元素的顺序。
List<Object> list1 = new ArrayList<>();
List<Object> list2 = new ArrayList<>();

// 添加对象到list1和list2中

if(list1.size() == list2.size() && list1.containsAll(list2)){
    System.out.println("两个List中的对象值相等");
} else {
    System.out.println("两个List中的对象值不相等");
}
  1. 使用Stream API进行比较。可以将两个List中的对象转换为Stream,然后使用Stream的equals()方法比较两个Stream是否相等。
List<Object> list1 = new ArrayList<>();
List<Object> list2 = new ArrayList<>();

// 添加对象到list1和list2中

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

if(isEqual){
    System.out.println("两个List中的对象值相等");
} else {
    System.out.println("两个List中的对象值不相等");
}

0