温馨提示×

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

小亿
833
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