package com.qs.jxw.modules.charts.entity;
import java.util.ArrayList;
import java.util.List;
/**
* 测试集合的交集、并集、差集
* @author Administrator
*
*/
public class ListOper {
/**
* 测试交集
* @param list1
* @param list2
*/
public static void testAddAll(List list1,List list2){
boolean flag = list1.addAll(list2);
System.out.println(flag); //true
System.out.println(list1); //[1111, 2222, 3333, 3333, 4444, 5555]
}
/**
* 测试无重复并集
* @param list1
* @param list2
*/
public static void testRemoveAddAll(List list1,List list2){
boolean flag1 = list2.removeAll(list1);
boolean flag2 = list1.addAll(list2);
System.out.println("flag1:"+flag1+" flag2:"+flag2); //flag1:true flag2:true
System.out.println(list1); //[1111, 2222, 3333, 4444, 5555]
}
/**
* 测试并集
* @param list1
* @param list2
*/
public static void testRetainAll(List list1,List list2){
boolean flag = list1.retainAll(list2);
System.out.println(flag); //true
System.out.println(list1); //[3333]
}
/**
* 测试差集 : list1.差集(list2); list1会remove掉list2和list1相同的元素
* @param list1
* @param list2
*/
public static void testRemoveAll(List list1,List list2){
boolean flag = list1.removeAll(list2);
System.out.println(flag); //true
System.err.println(list1);//[1111, 2222]
}
public static void main(String[] args) {
List list1 = new ArrayList();
list1.add("1111");
list1.add("2222");
list1.add("3333");
List list2 = new ArrayList();
list2.add("3333");
list2.add("4444");
list2.add("5555");
// 测试交集
testAddAll(list1, list2);
/**
* true
* [1111, 2222, 3333, 3333, 4444, 5555]
*/
// 测试无重复并集
// testRemoveAddAll(list1, list2);
/**
* flag1:true flag2:true
* [1111, 2222, 3333, 4444, 5555]
*/
// 测试并集
// testRetainAll(list1, list2);
/**
* true
* [3333]
*/
// 测试差集
// testRemoveAll(list1, list2);
/**
* true
* [1111, 2222]
*/
}
}
温故而知新之——集合的交集、并集、差集
最新推荐文章于 2024-01-03 08:57:58 发布