如何合并两个没有重复的ArrayLists?
我有两个数组列表
ArrayList one = {A, B, C, D, E} ArrayList two = {B, D, F, G}
我希望得到我的最终ArrayList,其中包含一个元素和仅两个元素而不是一个元素。
所以ArrayList final = {A,B,C,D,E,F,G}。
我怎样才能做到这一点?
for (Object x : two){ if (!one.contains(x)) one.add(x); }
假设您不想使用注释中建议的集合。 如果您正在寻找比这更漂亮的东西,请澄清您的问题。
或者:
Set fooSet = new LinkedHashSet<>(one); fooSet.addAll(two); List finalFoo = new ArrayList<>(fooSet);
要么
List twoCopy = new ArrayList<>(two); twoCopy.removeAll(one); one.addAll(twoCopy);
你可以这样做:
ArrayList
尝试这种事情。 由于Set
不允许重复,因此您只能添加更改
ArrayList a=new ArrayList<>(); a.add("a"); a.add("b"); ArrayList b=new ArrayList<>(); a.add("a"); a.add("c"); Set s=new HashSet (); s.addAll(a); s.addAll(b); a=new ArrayList<>(s); for(String r:a){ System.out.println(r); }