两个List去重合并的问题

huo90 2014-08-25 07:10:13
样例:
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" }
...全文
424 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜鸟大明 2014-08-25
  • 打赏
  • 举报
回复
引用 4 楼 zhao9tian 的回复:
[quote=引用 3 楼 huo90 的回复:] [quote=引用 2 楼 zhao9tian 的回复:] a.removeAll(b); a.addAll(b);
=========================== 这样是不行的,结果C里边是7个[/quote] 抱歉,我错了,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);
然后再转回去,也是有一点麻烦,但代码会整洁一些。[/quote] 纠正:new Object[]{"a"} 的hashcode 不等于 new Object[]{"a"}.
菜鸟大明 2014-08-25
  • 打赏
  • 举报
回复
引用 3 楼 huo90 的回复:
[quote=引用 2 楼 zhao9tian 的回复:] a.removeAll(b); a.addAll(b);
=========================== 这样是不行的,结果C里边是7个[/quote] 抱歉,我错了,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);
然后再转回去,也是有一点麻烦,但代码会整洁一些。
huo90 2014-08-25
  • 打赏
  • 举报
回复
引用 2 楼 zhao9tian 的回复:
a.removeAll(b); a.addAll(b);
=========================== 这样是不行的,结果C里边是7个
菜鸟大明 2014-08-25
  • 打赏
  • 举报
回复
a.removeAll(b); a.addAll(b);
bichir 2014-08-25
  • 打赏
  • 举报
回复
你只有自己写方法实现了.两个for循环套用,并挨个对比找出重复的删掉,然后合并list

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧