zoukankan      html  css  js  c++  java
  • 使用java 的api获取两个集合的交集、并集、差集

    参考博客:https://blog.csdn.net/shenhonglei1234/article/details/52063399

    注意在获取并集的时候,List和Set会有不同,List不会自动去重,而Set会去重

      1 package com.lonely.映射;
      2 
      3 import java.util.ArrayList;
      4 import java.util.HashSet;
      5 import java.util.List;
      6 import java.util.Set;
      7 
      8 /**
      9  * @author ztkj-hzb
     10  * @Date 2019/7/18 10:55
     11  * @Description
     12  */
     13 public class Test {
     14 
     15     public static void main(String[] args) {
     16 
     17         removeAllTest();
     18 
     19     }
     20 
     21 
     22     /**
     23      * 两个集合去交集
     24      */
     25     public static void retianAllTest() {
     26         List<Integer> list1 = new ArrayList<Integer>() {{
     27             this.add(1);
     28             this.add(2);
     29             this.add(3);
     30         }};
     31 
     32         List<Integer> list2 = new ArrayList<Integer>() {{
     33             this.add(2);
     34             this.add(3);
     35             this.add(4);
     36         }};
     37 
     38         //取交集
     39         list1.retainAll(list2);
     40 
     41         list1.forEach(System.out::println);
     42         System.out.println("-----------------------");
     43         list2.forEach(System.out::println);
     44     }
     45 
     46 
     47     /**
     48      * 测试并集  注意区分 List的addAll是不去重的。  而Set的addAll会去重
     49      */
     50     public static void addAllTest() {
     51         List<Integer> list1 = new ArrayList<Integer>() {{
     52             this.add(1);
     53             this.add(2);
     54             this.add(3);
     55         }};
     56 
     57         List<Integer> list2 = new ArrayList<Integer>() {{
     58             this.add(2);
     59             this.add(3);
     60             this.add(4);
     61         }};
     62 
     63         //取并集
     64         list1.addAll(list2);
     65 
     66         list1.forEach(System.out::println);
     67         System.out.println("-----------------------");
     68         list2.forEach(System.out::println);
     69 
     70         System.out.println("**********************************");
     71 
     72 
     73         Set<Integer> list3 = new HashSet<Integer>() {{
     74             this.add(1);
     75             this.add(2);
     76             this.add(3);
     77         }};
     78 
     79         Set<Integer> list4 = new HashSet<Integer>() {{
     80             this.add(2);
     81             this.add(3);
     82             this.add(4);
     83         }};
     84 
     85         //取并集
     86         list3.addAll(list4);
     87 
     88         list3.forEach(System.out::println);
     89         System.out.println("-----------------------");
     90         list4.forEach(System.out::println);
     91     }
     92 
     93     /**
     94      * 取差集
     95      */
     96     public static void removeAllTest() {
     97         List<Integer> list1 = new ArrayList<Integer>() {{
     98             this.add(1);
     99             this.add(2);
    100             this.add(3);
    101         }};
    102 
    103         List<Integer> list2 = new ArrayList<Integer>() {{
    104             this.add(2);
    105             this.add(3);
    106             this.add(4);
    107         }};
    108 
    109         //取并集
    110         list1.removeAll(list2);
    111 
    112         list1.forEach(System.out::println);
    113         System.out.println("-----------------------");
    114         list2.forEach(System.out::println);
    115     }
    116 
    117 
    118 }
  • 相关阅读:
    HTTP 缓存图解
    http协议构成整理
    HTTP2.0
    Event Loop
    斐波那契数列
    归并排序
    快速排序
    史上最全前端资源
    Js 将 Date 转化为指定格式的String
    vue-cli webpack全局引入jquery
  • 原文地址:https://www.cnblogs.com/duguxiaobiao/p/12091689.html
Copyright © 2011-2022 走看看