List<Long> temp = new ArrayList<>();
temp.add(8L);
temp.add(6L);
temp.add(5L);
temp.add(4L);
List<Long> list = new ArrayList<>();
list.add(7L);
list.add(6L);
list.add(4L);
list.add(2L);
,接下来我们就来聊聊关于集合的主要方法?以下内容大家不妨参考一二希望能帮到您!
集合的主要方法
List<Long> temp = new ArrayList<>();
temp.add(8L);
temp.add(6L);
temp.add(5L);
temp.add(4L);
List<Long> list = new ArrayList<>();
list.add(7L);
list.add(6L);
list.add(4L);
list.add(2L);
一 . 集合之间的交、并、差集ps: 比较的2个集合不能为null,可以为空
// 1.list取交集
list.retainAll(temp);
System.out.println("list取交集########");
list.stream().forEach(v -> System.out.println(v)); // [6,4]
// 2.list取并集
list.removeAll(temp);
list.addAll(temp);
System.out.println("list取并集########");
list.stream().forEach(v -> System.out.println(v)); // [7,2,8,6,5,4]
// 3.list取差集
list.removeAll(temp);
System.out.println("list取差集########");
list.stream().forEach(v -> System.out.println(v)); // [7,2]
1.判断两个集合之间是否存在交集
// 判断两个集合是否存在交集
boolean isJoin = !Collections.disjoint(temp, list); // 存在交集时为true
2.判断两个集合是否一样
先排序,后拼接字符串
// 元素先排序,后拼接为字符串比较(collectList元素类型为<String>;
// 为对象类型时,可以先将比对的属性内容拼接为String集合)
boolean isSame = collectList.stream().sorted().collect(Collectors.joining())
.equals(collectList2.stream().sorted().collect(Collectors.joining()));
比较差集,差集要为空
// 两个相同的集合的差集是为空的(A.removeAll(B),A集合大小必须大于等于B集合)
List<String> collectListTemp = new ArrayList<>
(collectList.size() > collectList2.size() ? collectList : collectList2);
boolean isSame2 = collectListTemp.removeAll
(collectList.size() > collectList2.size() ? collectList2 : collectList);