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);