栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

3分钟学会:Java集合交集,并集,差集

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

3分钟学会:Java集合交集,并集,差集

今天讲到集合的内容,突然想到一个面试题:

怎么针对2个ArrayList集合求:交,并,差集?

上完课,闲来无事,随便记录,以供分享!

一、交集

**交集:**两个集合相交的部分!

集合1:张三,李四,王五 ,赵六

集合2:田七,赵六,张三 ,阿飞

交集 = 张三,赵六

案例代码:

ArrayList datas = new ArrayList();
//向集合中添加元素
Collections.addAll(datas, "张三", "李四", "王五", "赵六");
//向集合中添加元素
ArrayList arrs = new ArrayList();
Collections.addAll(arrs, "田七", "赵六", "张三", "阿飞");

// 求交集
datas.retainAll(arrs);
for (String str : datas) {
    System.out.println(str);
}


二、并集

**并集:**两个集合合并起来的部分!

集合1:张三,李四,王五 ,赵六

集合2:田七,赵六,张三 ,阿飞

并集 = 张三,李四,王五 ,赵六,田七,赵六,张三 ,阿飞

案例代码:

ArrayList datas = new ArrayList();
//向集合中添加元素
Collections.addAll(datas, "张三", "李四", "王五", "赵六");
//向集合中添加元素
ArrayList arrs = new ArrayList();
Collections.addAll(arrs, "田七", "赵六", "张三", "阿飞");


// 求并集
datas.addAll(arrs);//把另外一个集合中所有元素,添加到本集合中
for (String str : datas) {
    System.out.println(str);
}

那如果要去重呢?

ArrayList datas = new ArrayList();
//向集合中添加元素
Collections.addAll(datas, "张三", "李四", "王五", "赵六");
//向集合中添加元素
ArrayList arrs = new ArrayList();
Collections.addAll(arrs, "田七", "赵六", "张三", "阿飞");


// 求并集
datas.removeAll(arrs);//先从本集合中删除另一个集合中相同的元素
datas.addAll(arrs);//再把另外一个集合中所有元素,添加到本集合中
for (String str : datas) {
    System.out.println(str);
}


三、差集

**差集:**两个集合排除相同的剩余部分!

集合1:张三,李四,王五 ,赵六

集合2:田七,赵六,张三 ,阿飞

差集 = 李四,王五,田七,阿飞

剔除这种:A-B B-A的数据

案例代码:

ArrayList datas = new ArrayList();
//向集合中添加元素
Collections.addAll(datas, "张三", "李四", "王五", "赵六");
//向集合中添加元素
ArrayList arrs = new ArrayList();
Collections.addAll(arrs, "田七", "赵六", "张三", "阿飞");


// 求差集 张三,李四,王五 ,赵六 | 田七,赵六,张三 ,阿飞 ---> 李四,王五,田七,阿飞
ArrayList list = (ArrayList) datas.clone();// 张三,李四,王五 ,赵六
datas.removeAll(arrs);// datas 李四,王五
arrs.removeAll(list);// arrs 田七,阿飞
datas.addAll(arrs);// 李四,王五,田七,阿飞

for (String str : datas) {
    System.out.println(str);
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602676.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号