list去重并合并的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

list去重并合并的问题

蛮大人123 2016-06-12 10:47:55 1782

有两个List list1 list2
list1 : [10583601, 10584601]
list2 : [10583601, 10583611]
每个元素前7位为标识位 最后一位为数量 ,
list1位基础 如果list2中的元素在list1中存在 则修改list1中的数量 ,(比如10583601在list1中存在
也在list2中存在, 则把list1中的10583601改为10583602).如果不存在,则往list1中添加该元素
最后得出的结果应该是 list1 [10583602, 10584601, 10583611]
求教,

分享到
取消 提交回答
全部回答(2)
  • mrcamel
    2019-07-17 19:33:26

    放set里,如果有顺序就linkedHaseSet

    0 0
  • 蛮大人123
    2019-07-17 19:33:26
    ArrayList newList=new ArrayList ();
    ArrayList newList2=new ArrayList ();
    ArrayList newList3=new ArrayList ();
    newList2.add(0,"10583601");
    newList2.add(1,"10584601");
    newList3.add(0,"10583601");
    newList3.add(1,"10583611");
    
        for(int i = 0; i < newList3.size(); i++) {
                        //判断newList2中有没有newList2里重复数据,true:将原来删除,修改+1库存  false:直接add
                        //假设你这里的库存数量是 2+2 =4的要求,取消掉注释,将原来注释掉 
            if(newList2.contains(newList3.get(i))) {
                String test = newList3.get(i);
                int t=Integer.parseInt(test);
                newList2.remove(test);
                newList2.add(String.valueOf(t+1));
                                //int s=Integer.parseInt(test.substring(test.length()-1,test.length()));
               //newList2.add(String.valueOf(t+s));
            }else {
                newList2.add(newList3.get(i));
            }
        }
        newList.addAll(newList2);
        for (String list :newList) {
            System.out.println(list);
        }
    0 0
添加回答
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章