夜敲人 2021-12-17 17:22 采纳率: 50%
浏览 68
已结题

list集合中removeAll()与addAll()两个方法与list.stream()求两个集合差集与和集的区别?

######碰巧用到了

问题相关代码,请

public class Test {
public static void main(String[] args) {
List list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
List list2=new ArrayList();
list2.add(2);
list2.add(4);
list2.add(6);

List<Integer> list1Cha = list1.stream().filter(item -> list2.stream().noneMatch(item2 -> Objects.equals(item, item2))).collect(Collectors.toList());
List<Integer> list2Cha = list2.stream().filter(item -> list1.stream().noneMatch(item2 -> Objects.equals(item, item2))).collect(Collectors.toList());
    System.out.println(list1Cha);
    System.out.println(list2Cha);
    List<Integer> heList = list1.stream().filter(item -> list2.stream().anyMatch(item2 -> Objects.equals(item, item2))).collect(Collectors.toList());
    System.out.println(heList);
   list1.addAll(list2);
   System.out.println(list1);
    list1.removeAll(list2);
    System.out.println(list1);

}
  

}
勿粘贴截图

运行结果及报错

img


内容

List list3=new ArrayList();
    list3.addAll(list1);
    list1.removeAll(list2);
    System.out.println(list1);
    list2.removeAll(list3);
    System.out.println(list2);
    boolean b = list1.equals(list1Cha);
    System.out.println(b);
我想要达到的结果
  • 写回答

3条回答 默认 最新

  • IT-猕猴桃 2021-12-17 17:47
    关注

    一、我有些问题:
    1.集合中元素为同一元素的判定条件是什么?值相等?是同一个对象?
    2.集合和列表的区别是否清晰?集合:元素没有相同的元素;列表:允许有相同的元素。
    二、解释list的removeAll()与addAll()与list.stream()求两个集合差集与和集的区别
    1.list 的list1.removeAll(list2),从list1中删除所有在list2中存在的元素
    2.list 的list2.addAll(list2),自list1尾部添加list2中的所有元素,不会验证是否存在相同的元素
    3.通过代码实现符合你对该计算的理解,如果逻辑正确,符合你对集合计算的理解
    4.如果想使用集合计算,并不想自己写代码可以考虑Set接口的实现类

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月1日
  • 已采纳回答 3月24日
  • 创建了问题 12月17日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效