zoukankan      html  css  js  c++  java
  • List里将某字段相同的元素合并

    工作中遇到将List中某字段相同的元素合并,笔者觉得有必要记录下来,以备以后参考,好了,直接上代码

    import java.util.ArrayList;
    import java.util.List;
    
    class A {
        private String name;//姓名
        private int age;//年龄
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }
    public class Test4 {
        
        public static void main(String[] args) {
        List<A> oldList = new ArrayList<A>();//需要整合的List
        List<A> newList = new ArrayList<A>();//整合后的List
                A  aA = new A();
                aA.setName("a");
                aA.setAge(10);
                A  aB = new A();
                aB.setName("b");
                aB.setAge(20);
                A  aC = new A();
                aC.setName("c");
                aC.setAge(30);
                A  aD = new A();
                aD.setName("b");
                aD.setAge(40);
        
                oldList.add(aA);
                oldList.add(aB);
                oldList.add(aC);
                oldList.add(aD);
            for (A oldO : oldList) {
                boolean flag = true;//给整合后集合添加子元素标志,true:添加,false:不添加,其年龄相加
                    for (A newO : newList) {
                        if (newO.getName(). equals(oldO.getName())) {//判断姓名是否相同
                            newO.setAge(newO.getAge()+oldO.getAge());//姓名相同时,年龄相加
                            flag = false;
                        }
                    }
                if (flag) {
                    newList.add(oldO);//给整合后集合添加子元素
                }
            }
            
            for (A a : newList) {//打印结果
                System.out.println(a.getName() + " : "+a.getAge());
            }
        }
    }
     

    如有问题,请朋友们指出来!

  • 相关阅读:
    【Offer】[5] 【替换空格】
    【Offer】[3-2] 【不修改数组找出重复的数字】
    【Offer】[3-1] 【找出数组中重复的数字】
    【Spring】 IOC Base
    【Java并发】CallBack和Future模式
    【Java并发】并发队列与线程池
    【Java并发】几个常用API
    linux基础_vi和vim快捷键
    python_字典
    python_列表方法
  • 原文地址:https://www.cnblogs.com/lidelin/p/8269963.html
Copyright © 2011-2022 走看看