两个list求:是否包含、交集、差集

1、包含:  boolean containsAll(Collection<?> c);

     public static void main(String[] args) {
		List<String> list1 = UtilMisc.toList("1","2","3","4","5","6","7","8","9");
		List<String> list2 = UtilMisc.toList("1","2","3","4","0");
		List<String> list3 = UtilMisc.toList("1","2","3","4");
		
		System.out.println("list1 是否完全包含list2 :"+ list1.containsAll(list2));
		System.out.println("list1 是否完全包含list3 :"+ list1.containsAll(list3));
		System.out.println("list1:" + list1);
		System.out.println("list2:" + list2);
		System.out.println("list3:" + list3);
    }

list1 是否完全包含list2 :false
list1 是否完全包含list3 :true
list1:[1, 2, 3, 4, 5, 6, 7, 8, 9]
list2:[1, 2, 3, 4, 0]
list3:[1, 2, 3, 4]

2、交集:  boolean retainAll(Collection<?> c);

  • 如果 调用list 中删除了 元素则返回 true。
  • 该方法从 list 中 删除了不存在于collection中的元素。
  • 如果list包含 null 元素,那么指定collection不允许null元素,否则抛出 NullPointerException 。
    public static void main(String[] args) {
   		List<String> list1 = UtilMisc.toList("1","2","3","4","5","6","7","8","9");
		List<String> list2 = UtilMisc.toList("1","2","3","4","0");
		List<String> list3 = UtilMisc.toList("1","2","3","4","5","6","7","8","9");
		List<String> list4 = UtilMisc.toList("10","11","12","13","14");
		
		
		// 我们传入了数组 list2 作为 retainAll() 方法的参数。该方法从 list1 中 删除了不存在于 list2 的元素。如果 list1 中删除了元素则返回 true。
		System.out.println("list1 与 list2 是否有交集:"+list1.retainAll(list2));
		// 我们传入了数组 list3 作为 retainAll() 方法的参数。该方法从 list4 中 删除了不存在于 list3 的元素。如果 list4 中删除了元素则返回 true。
		System.out.println("list4 与 list3 是否有交集:"+list4.retainAll(list3));
		
		System.out.println("list1:" + list1);
		System.out.println("list2:" + list2);
		System.out.println("list3:" + list3);
		System.out.println("list4:" + list4);
    }

list1 与 list2 是否有交集:true
list4 与 list3 是否有交集:true
list1:[1, 2, 3, 4]
list2:[1, 2, 3, 4, 0]
list3:[1, 2, 3, 4, 5, 6, 7, 8, 9]
list4:[]

3、差集: boolean removeAll(Collection<?> c);

     public static void main(String[] args) {
		List<String> list1 = UtilMisc.toList("1","2","3","4","5","6","7","8","9");
		List<String> list2 = UtilMisc.toList("1","2","3","4","0");
		
		System.out.println(list1.removeAll(list2));
		System.out.println("list1:" + list1);
		System.out.println("list2:" + list2);
	}

true
list1:[5, 6, 7, 8, 9]
list2:[1, 2, 3, 4, 0]

猜你喜欢

转载自blog.csdn.net/weixin_40482816/article/details/117439469