两个List去重合并的问题 样例: List a = new ArrayList(); a.add(new Object[] { "a", "b" }); a.add(new Object[] { "a", "c" }); a.add(new Object[] { "a" }); List b = new ArrayList(); b.add(new Object[] { "a" }); b.add(new Object[] { "a", "b" }); b.add(new Object[] { "b" }); b.add(new Object[] { "a", "c" }); 结果: a和b去重合并得到的 List c 里边的元素是new Object[] { "a", "b" },new Object[] { "a", "c" },new Object[] { "a" },new Object[] { "b" } ------解决方案-------------------- 你只有自己写方法实现了.两个for循环套用,并挨个对比找出重复的删掉,然后合并list ------解决方案-------------------- a.removeAll(b); a.addAll(b); ------解决方案--------------------
抱歉,我错了,new Object[]{"a"} 的hashcode 不等于 new Object[]{"b"} 转换成字符串觉得可以吗
List a = new ArrayList();
a.add("a,b"); a.add("a,c"); a.add("a"); List b = new ArrayList(); b.add("a"); b.add("a,b"); b.add("b"); b.add("a,c"); b.removeAll(a); b.addAll(a); System.out.println(b);
抱歉,我错了,new Object[]{"a"} 的hashcode 不等于 new Object[]{"b"} 转换成字符串觉得可以吗
List a = new ArrayList();
a.add("a,b"); a.add("a,c"); a.add("a"); List b = new ArrayList(); b.add("a"); b.add("a,b"); b.add("b"); b.add("a,c"); b.removeAll(a); b.addAll(a); System.out.println(b);
然后再转回去,也是有一点麻烦,但代码会整洁一些。
纠正:new Object[]{"a"} 的hashcode 不等于 new Object[]{"a"}.