JDK1.8

首先,set1中有值, set2中无值

import com.alibaba.fastjson.JSON;
import com.google.common.collect.Sets;
import java.util.*;



public class ListTest {

    public static void main(String[] args) throws Exception {

        Set<Long> set1 = new HashSet<>();
        set1.add(1L);
        set1.add(2L);

        Set<Long> set2 = new HashSet<>();


        Sets.SetView<Long> intersection = Sets.intersection(set1, set2);
        System.out.println(JSON.toJSONString(intersection));

        System.out.println(JSON.toJSONString(set1));
        System.out.println(JSON.toJSONString(set2));


        set1.retainAll(set2);
        System.out.println(JSON.toJSONString(set1));
        System.out.println(JSON.toJSONString(set2));

    }
}

结果:

【java】集合操作中的retainAll的坑

 

 

 

 

再来一次,set2中放值

public static void main(String[] args) throws Exception {

        Set<Long> set1 = new HashSet<>();
        set1.add(1L);
        set1.add(2L);

        Set<Long> set2 = new HashSet<>();
        set2.add(1L);

        Sets.SetView<Long> intersection = Sets.intersection(set1, set2);
        System.out.println(JSON.toJSONString(intersection));

        System.out.println(JSON.toJSONString(set1));
        System.out.println(JSON.toJSONString(set2));


        set1.retainAll(set2);
        System.out.println(JSON.toJSONString(set1));
        System.out.println(JSON.toJSONString(set2));

    }

结果如下

【java】集合操作中的retainAll的坑

 

相关文章:

  • 2021-11-23
  • 2021-09-26
  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2021-09-22
猜你喜欢
  • 2022-12-23
  • 2021-11-25
  • 2022-12-23
  • 2021-07-02
  • 2022-12-23
  • 2021-05-17
  • 2022-12-23
相关资源
相似解决方案