java 合并两个 list内容 剔除相同内容

2024-11-08 04:59:19
有5个网友回答
网友(1):

遍历这两个list ,使用 双层循环,在内循环判断,若外循环的list的value存在在内循环中,则同时删除两个list中的那个value,不存在的话,使用第三个list来动态添加,最后返回第三个list就是你所需要的resultList。

网友(2):

你可以再建一个新newlist,把list1和list2的值往newlist里面循环放,放的时候判断一下,有这个值了就不放了。

网友(3):

list2.removeAll(list1);

网友(4):

public static void main(String[] args){

List list1 = new ArrayList();
list1.add("a");
list1.add("b");

list1.add("c");

List list2 = new ArrayList();
list1.add("a");
list1.add("b");
list1.add("d");
Set set = new HashSet();
for(String s: list1){
set.add(s);
}
for(String s : list2){
if(set.contains(s)){
set.remove(s);
}else{
set.add(s);
}
}
String[] arr = new String[set.size()];
set.toArray(arr);
List resultList = Arrays.asList(arr);
}

网友(5):

你说的是返回c和d吧?不是剔除相同的吗?还有你的那个a b,d咋也添加到list1中?你说的是添加到list2中吧?