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());
}
}
}
如有问题,请朋友们指出来!
List里将某字段相同的元素合并的更多相关文章
- List<Integer>里有可能存String类型元素吗?
这其实是我遇到的一个线上bug,在这里分享给大家. 如果是用反射,那就很简单了,毕竟泛型只是在编译期进行约束,对运行期是无能为力的. 想想看,如果不使用反射,有没有办法做到呢? 问题起因 在我们公司的 ...
- C# 类构造函数赋值里属性与字段赋值注意项
public class Test { public Test(int age) { this.Age=age;//如果这里使用的是this.age=age;那么属性里的判断将不会执行 } priva ...
- 用jQuery在IFRAME里取得父窗口的某个元素的值
收集网上的一些示例: 用jQuery在IFRAME里取得父窗口的某个元素的值 只好用DOM方法与jquery方法结合的方式实现了 1.在父窗口中操作 选中IFRAME中的所有单选钮 $(window. ...
- MyBatis里json型字段到Java类的映射
一.简介 我们在用MyBatis里,很多时间有这样一个需求:bean里有个属性是非基本数据类型,在DB存储时我们想存的是json格式的字符串,从DB拿出来时想直接映射成目标类型,也即json格式的字符 ...
- jQuery在iframe里取得父窗口的某个元素的值
提供一款jQuery在iframe里取得父窗口的某个元素的值实现,这个iframe用js也差不多,有需要的朋友可以参考一下. 1.在父窗口中获取指定iframe(testiframe) id 为 te ...
- python 将列表里的字典元素合并为一个字典
python 将列表里的字典元素合并为一个字典 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn. ...
- Firebird 同一字段的多行合并为一行
Firebird 同一字段的多行合并为一行用LIST函数类似于MYSQL的GROUP_CONCAT. 具体用法如下: SELECT LIST(a.GG_NAME||':'||a.GG_VALUE) ...
- 在Excel里如何将多个工作簿合并到一个工作簿中
在Excel里如何将多个工作簿合并到一个工作簿中 当你必须将多个工作簿合并到一个工作簿时,你遇到过麻烦吗?最让人心烦的就是需要合并的工作簿里有很多张工作表.有人能推荐方法解决这个问题吗? 利用VBA ...
- 【原创】从 列表的重复 到 用sum展开二层嵌套列表将子元素合并
转载请注明出处:https://www.cnblogs.com/oceanicstar/p/9517159.html ★像R语言里头有rep函数可以让向量的值重复,在python里面可以直 ...
随机推荐
- 新建Maven项目Index.jsp文件报错解决方法
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path in ...
- IE 内使用ActiveX,写注册表被重定向到如下注册表
IE 内使用ActiveX,写注册表被重定向到如下注册表,所以使用注册表做标记要注意下,目前还没找为什么会这样 HKEY_CURRENT_USER\Software\Microsoft\Interne ...
- 这样子覆盖jquery的$
window.$ = function(){ alert('nihao'); } window.ad = function(){ alert('nihao1'); } !function($){ $( ...
- ActiveMq 高级特性的使用
消费者的 destination 可以使用 wildcards 生产者的 destination 可以使用 composite destinations VirtualTopic 真是一大利器,当初读 ...
- Jedis分片连接池
[http://blog.csdn.net/lang_man_xing/article/details/38405269] 一下内容来自网络,但是很多细节没有写出来,所以我经过自己琢磨,终于找到原 ...
- 离线unity API文档
只要安装的时候勾选上document 打开unity选择help-ScriptReference就可以打开本地API了.
- WPF绑定数据源之RelativeSource
Command="{Binding ConfirmRegisterCommand}" CommandParameter="{Binding RelativeSource= ...
- python中的列表和字典(一)
一. 列表 1. 列表的定义 [] 2. 列表特征:有序列表,可以包含任意内容,可以重复 3. 列表的赋值(顺序赋值):listA = [A, B, C] 4. 列表的取值:list[index] ...
- poj2135最小费用流
裸题,就是存个模板 最小费用流是用spfa求解的,目的是方便求解负环,spfa类似于最大流中的bfs过程 #include<map> #include<set> #includ ...
- SQL Sever删除外键
declare @sql varchar(max), @tab_name varchar(128), @fk_name varchar(128);declare c cursor forselect ...