retainAll()方法
·
A.retainAll(B)
这个方法的作用就是将A与B的交集存放在A中
如果集合A的大小发生了改变,返回true,即使两个集合完全没有交集,也会返回true。
如果集合A的大小没有发生改变,返回false,即使两个集合完全相同,也会返回false。
所以,retainAll()的返回值并不能用于判断两个集合是否存在交集,只能用于判断集合大小是否发生改变;
应该通过集合的大小判断两个集合是否有交集。
List origin = new ArrayList<>();
origin.add("1");
origin.add("2");
origin.add("3");
origin.add("4");
origin.add("5");
origin.add("6");
List list1 = new ArrayList<>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
list1.add("5");
list1.add("6");
System.out.println(origin.retainAll(list1));
System.out.println(origin);
false
[1, 2, 3, 4, 5, 6]
List origin = new ArrayList<>();
origin.add("1");
origin.add("2");
origin.add("3");
origin.add("4");
origin.add("5");
origin.add("6");
List list1 = new ArrayList<>();
list1.add("8");
System.out.println(origin.retainAll(list1));
System.out.println(origin);
true
[]
更多推荐
已为社区贡献1条内容
所有评论(0)