展开全部
a.retainAll(b); // 保留在 b 中也有a中也有的条目,从a中去掉不在集合b中的条目。
a.removeAll(b) ,从a中删除所有在 b中的条目。
把两个方法组合起来就知道怎么得到差值。
c = new ArrayList(a);
c.retainAll(b); // 得到 a, b 的交集。
d = new ArrayList(a);
d.addAll(b); // 合并 a, b 值到 d 中。
d.removeAll(c); // 去掉交集 c 中的所有条目。留下只出现在a 或 b 中的条目。
一般来说如果你说集合,一般是用 Set 而不是 List 哦,只有 Set 是数学意义上的集合(能保证唯一性的,不存在重复元素)。
展开全部
package p1;
import java.util.Arrays;
import java.util.List;
public class Lab9
{
public static void main ( String[] args )
{
List<String> list1 = Arrays.asList ("a", "f", "e", "x", "w");
List<String> list2 = Arrays.asList ("a", "b", "c", "d");
String temp1 = list1.toString ().replaceAll ("[\\[\\]]", ",").replaceAll ("\\s+", "");
String temp2 = list2.toString ().replaceAll ("[\\[\\]]", ",").replaceAll ("\\s+", "");
String result2 = "";
for ( int i = 0; i < list1.size (); i++ )
{
if (temp2.indexOf ("," + list1.get (i) + ",") == -1)
{
result2 += list1.get (i) + ",";
}
}
System.out.println ("存在list1而不存在list2的元素有:" + result2);
System.out.println ("同理可证");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用contains方法
追问
具体点
追答
首先,用遍历一个list,吧每个值都插入到map集合里,然后遍历另一个,在另一个list循环的时候调用map的get方法,如果为null的取出来,否则,continue,继续循环
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询