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

例:List<String>list1;list1.add("a")list1.add("b")list1.add("c")List<String>list2;list1... 例: List<String> list1;
list1.add("a")
list1.add("b")

list1.add("c")

List<String> list2;
list1.add("a")
list1.add("b")
list1.add("d")
需要返回的List<String> resultList;中只存在String "d";
这个该怎么写!
展开
 我来答
断弦孤寂123
2012-11-02 · TA获得超过188个赞
知道答主
回答量:60
采纳率:0%
帮助的人:52.9万
展开全部
遍历这两个list ,使用 双层循环,在内循环判断,若外循环的list的value存在在内循环中,则同时删除两个list中的那个value,不存在的话,使用第三个list来动态添加,最后返回第三个list就是你所需要的resultList。
追问
能帖个测试通过的代码出来吗!
追答
import java.util.ArrayList;import java.util.List;
public class Test {
public static List list_one(){
List list1=new ArrayList();
list1.add("a");
list1.add("b");
list1.add("c");
return list1;
}

public static List list_two(){
List list2=new ArrayList();
list2.add("a");
list2.add("b");
list2.add("d");
return list2;
}

public static List resultList(List list1,List list2){
List same=new ArrayList();
List result=new ArrayList();
for (int i = 0; i s=resultList(list_one(),list_two());
for (int i = 0; i < s.size(); i++) {
System.out.println(s.get(i));
}
}
}
//还有中方法就使用set集合。先添加一个list,用contains方法,弄完之后,再转为list集合。也比较的复杂。

加QQ好友吧!结贴吧。。。。问题帮你解决了
lioneling
2012-11-02
知道答主
回答量:37
采纳率:0%
帮助的人:20.8万
展开全部
你可以再建一个新newlist,把list1和list2的值往newlist里面循环放,放的时候判断一下,有这个值了就不放了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dfb61d1b0
2012-11-02 · TA获得超过404个赞
知道小有建树答主
回答量:385
采纳率:66%
帮助的人:154万
展开全部
list2.removeAll(list1);
追问
最好自己测试一下!  这种办法我已经测试过了!  不行的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cainiaokan
2012-11-02 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:615万
展开全部
public static void main(String[] args){

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

list1.add("c");

List<String> list2 = new ArrayList<String>();
list1.add("a");
list1.add("b");
list1.add("d");
Set<String> set = new HashSet<String>();
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<String> resultList = Arrays.asList(arr);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我爱李沛霞
2012-11-02 · TA获得超过896个赞
知道小有建树答主
回答量:385
采纳率:100%
帮助的人:169万
展开全部
你说的是返回c和d吧?不是剔除相同的吗?还有你的那个a b,d咋也添加到list1中?你说的是添加到list2中吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式