java 4 集合运算时使用更优雅的方式
2017-10-13 14:28
183 查看
对集合进行 交集,并集,差集,无重复的并集操作,很多朋友都是习惯性的使用 遍历就可以完成这个操作,这样也能够实现,但不够优雅,请看下面的代码完成这个操作
注:
在实现 无重复交集的时候,不能采用 Set 方法完成这个任务,因为如果 集合1中已经有了重复的元素,使用Set 集合 会将 集合1 中的重复的元素进行删除,这样的将结果就不是无重复交集的结果了,无重复交集的结果,是删除 集合1 和集合2中 有交集部分的数据 只出现一次,不含对 集合本身数据的 操作
public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("A"); list1.add("B"); list1.add("C"); list1.add("A"); List<String> list2 = new ArrayList<String>(); list2.add("B"); list2.add("C"); // 并集 // list1.addAll(list2); // 交集 // list1.retainAll(list2); // 差集 // list1.removeAll(list2); // 无重复的并集 并集是集合A加集合B,那如果集合A和集合B有交集,就需要确保并集的结果中只有 // 一份交集,这样的结果为无重复并集 // ① 删除list2中 与 list1 中有交集部分的数据 list2.removeAll(list1); //② 把剩余的 list2 元素加到 list1 中 list1.addAll(list2); for (String str : list1) { System.out.println(str); } } |
在实现 无重复交集的时候,不能采用 Set 方法完成这个任务,因为如果 集合1中已经有了重复的元素,使用Set 集合 会将 集合1 中的重复的元素进行删除,这样的将结果就不是无重复交集的结果了,无重复交集的结果,是删除 集合1 和集合2中 有交集部分的数据 只出现一次,不含对 集合本身数据的 操作
相关文章推荐
- [改善Java代码]集合运算时使用更优雅的方式
- Java_集合操作_集合运算时使用更优雅的方式
- [编写高质量代码:改善java程序的151个建议]建议76 集合运算时使用更优雅的方式
- java中集合之间的运算优雅方式
- 集合运算时使用更优雅的方式
- java中使用sax解析xml,以实体类集合的方式接受xml解析的值
- java的集合 Map集合,HashMap集合,LinkedHashMap集合 使用方式及遍历
- 【Java】提取JSON数值时遇到数组集合时使用的K-V方式转换
- 使用方式比较优雅的代码集合
- Java基础(5):位运算的使用方式、运算符优先级的图示
- [java]webwork使用get提交方式乱码的解决办法
- Java中使用BigDecimal实现精确舍五入及工程运算
- java与json的使用方式
- 在java中使用cmwap方式访问php页面
- Java解析XMl的两种方式,集合操作时NoSuchElementException异常重现
- 整理MINGW编译dll使用JNI被java调用的几种方式
- 使用 Java 集合框架
- java中使用字节方式截取字符串
- 如何使用Java中集合类的详细讲解