java中多个List合并不规则数据

这里举个例子,大神将就看就行了,不要纠结数据
List list1 = new ArrayList<>();
Fraction fraction1 = new Fraction();
fraction1.setStudent("小明");
fraction1.setChinese(98);
fraction1.setMathematics(null);
fraction1.setEnglish(null);
list1.add(fraction1);

            List<Fraction> list2 = new ArrayList<>();
             Fraction fraction2 = new Fraction();
            fraction2.setStudent("小明");
    fraction2.setChinese(null);
            fraction2.setMathematics(92);
            fraction2.setEnglish(null);
            list2.add(fraction2);

            List<Fraction> list3 = new ArrayList<>();
            Fraction fraction3 = new Fraction();
            fraction3.setStudent("小明");
    fraction3.setChinese(null);
            fraction3.setMathematics(null);
            fraction3.setEnglish(90);
            list3.add(fraction3);

            如何合并这3个list,得到一个list中有小明三种成绩的分数?
0

2个回答

 你这个其实相当于数据库里的竖表转横表。
你可以用hashmap
Hashmap<String, Fraction> result = new Hashmap<>();
for (Fraction item : list)
{
String name = item.getName();
if (result.get(name) == null)
{
result.put(name, item);
}
if (item.getChinese() != null) result.get(name).setChinese(item.getChinese());
if (item.getEnglish() != null) result.get(name).setEnglish(item.getEnglish());
if (item.getMathematics() != null) result.get(name).setMathematics(item.getMathematics());
}
result就是你要的结果
1

list1.addall(list2) 这种方法可以嘛?

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java 两个list数据根据某个字段合并
之前遇到一个需求,字段是每小时那种(2018101208)。然后服务给我数据少了部分。然后我需要自已推算。然后补上没有那些小时为单位的数据。这里面也涉及到了自已设计出来数据list是全面的。所有的小时都有。然后把服务器获取list根据这个进行对比,补上服务器没有的小时数。两个list根据某个字段进行合并。 1、获取过去15天的小时 初始化变量 public String start...
合并多个List
public class ListUtil { /** * 合并多个list * @param lists * @param &amp;lt;T&amp;gt; * @return */ public static &amp;lt;T&amp;gt; List&amp;lt;T&amp;gt; mergeLists(List&amp;lt;T&amp;gt;... lists) { ...
java根据后台查询结果合并list
public JSONPageBean selectPage(HttpServletRequest request,HttpServletResponse response,RoadshowCount roadCount) { JSONPageBean json = new JSONPageBean(); List entityList = null; try { Map paramete
List中相同Id相同的数据合并到一个lIst中
package com.tt; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; public class tt { private static String...
java8 lambda小试牛刀,利用Stream把list转map,并将两个list的数据对象合并起来
java8 lambda小试牛刀,利用Stream把list转map,并将两个list的数据对象合并起来 [java] view plain copy public static void main(String[] args) {           // 集合1           List lists = new Arr
java list合并去重
List&amp;lt;Object&amp;gt; a = new ArrayList&amp;lt;Object&amp;gt;(); List&amp;lt;Object&amp;gt; b = new ArrayList&amp;lt;Object&amp;gt;(); a.add(&quot;111&quot;); a.add(&quot;222&quot;); b.add(&quot;222&quot;); b.add(&quot;333&quot;); a.removeAll(
合并两个list数据集合
将两个不同类型的list合并
将list集合拼接的数据进行分页
传入的参数是page pageSize,第几页和每页数据大小//起始下标int fromIndex = Integer.valueOf(pageSize) * (Integer.valueOf(page) - 1);//终止下标 int toIndex = fromIndex + Integer.valueOf(pageSize);int size = responses.size(); i...
java List合并和去重例子
单个list去重Set集合就不用怕重复的问题了,如果用的List就要想办法将它变为Set List&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;&amp;gt;(); // List&amp;lt;String&amp;gt; list2 = new ArrayList&amp;lt;&amp;gt;(); list.add(&quot;a&quot;); list...
集合已经集合的合并(多个集合的值合并到一起)
集合 通过、、及元素可以定义和设置与Java Collection类型对应List、Set、Map及Properties的值。 administrator@example.org support@example.org development@example.org ...
将List集合中的多条数据,根据对象id进行合并
java语言:将集合List中的对象,根据对象的id进行数据合并(例如:业务员每天销售额归总) 1、创建People类: public class People { private int id;//id编号 private String name;//姓名 private double inCome;//收入 public int getId() { ...
多个List合并去除list中对象的某个属性值相同的对象
      List&amp;lt;Car&amp;gt; carList1 = getList1......; List&amp;lt;Car&amp;gt; carList2 = getList2......; //以车号作为key Map&amp;lt;String, Car&amp;gt; carMap = new HashMap&amp;lt;String, Car&amp;gt;(); for(Car car1 : carList1)...
List中addAll方法怎么使用?将两个list合并和一个list?
addAll(Collection&lt;? extends E&gt; c)方法用于将指定 collection 中的所有元素添加到列表。 addAll(int index,Collection&lt;? extends E&gt; c );方法用于将指定 collection 中的所有元素添加到列表。同时,index指的是list下标,list下标是从0开始的. 数据类型案例: Lis...
将List<Map>中Map的相同元素取出合并
后台拿到的数据是这样的: areaUsageRateList:[{&quot;month&quot;:&quot;2018-07&quot;,&quot;areaTypeList&quot;:[{&quot;areaTypeId&quot;:1,&quot;areaTypeName&quot;:&quot;工坊空间&quot;,&quot;userType&quot;:1},{&quot;areaTypeId&quot;:2,&quot;areaTypeName&quot;:&quot;孵化空间&quo
如何将List集合中相同属性的对象合并
情景描述 在一个list中存放有许多个Person对象,对象属性分别为key与value,现需将对象中key相同的多个value值合并为一个。 //实体类 Class Person{ private Integer key; private Integer value; //书写get、set方法 public Integer getKey(){ ...
java8Stream实现多聚合
package com.kexin.aggregate; import java.util.*; import java.util.function.BiConsumer; import java.util.function.BinaryOperator; import java.util.function.Function; import java.util.function.Supplier...
合并和拆分map,合并和拆分list,应用于把表格的两行并排显示
合并两个map: eg1. public static void main(String args[])   {    Map  map =new HashMap();    Map  map1 =new HashMap();        map.put("1",new Integer(1));    map.put("2", new Integer(2));    m
java把两个有序的list合并的最快速的方法
废话不多说,直接上代码,嘎嘎  public static List sort(List list1 , List list2){           List list = new ArrayList();           long startruntime=System.nanoTime();         int i = 0 , j = 0;           ArrayL
JAVA 合并List 并去重 List 排序
新建两个List,并排序,去除相同项 package comm.util; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashSet; import java.util.Iterator; import java...
List集合中根据相同属性的对象合并计算
List集合中根据相同属性的对象合并计算 package com.thinkgem.jeesite.modules.test.web; public class S { private String name; private String date; private int value; @Override public int hashCod...
list中Map合并重复数据(map中key相等的value值相加)
public static void main(String[] args) { List&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt; list = new ArrayList&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt;(); Map&amp;lt;String, Object&amp;gt; map1 = new HashMap&amp;lt;String, Obje...
转载:Java8合并两个Map中元素的正确姿势
转自链接:https://blog.csdn.net/w605283073/article/details/82987157   1. 介绍 本入门教程将介绍Java8中如何合并两个map。 更具体说来,我们将研究不同的合并方案,包括Map含有重复元素的情况。 2. 初始化 我们定义两个map实例   private static Map&amp;lt;String, Employ...
java 多个map对象合并
import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public class MultiMapCombin {     /**      * @param args      */     public static void main(String[] args) {         Map&amp;lt...
将两个List合并为一个List(并集)+取交集
List questionerIdList = new ArrayList(); List l1 = sysuserinfMapper.findSysuserIdsByrRealName(questionName); List l2 = wechatinfMapper.selectWechatIdsByNickname(questionName); questionerIdList.ad
java中多条数据排序后合并成一条 根据场景选择map和tuple
案例: 从Es或者数据库中查询出来的数据排序后是如图所示, 表示内容: A、B、C、D分别表示一条记录,例如:第一个A表示在网点A执行的上车操作,第二个A表示在网点A执行的下车操作; 目标: 将相邻相同网点的操作合并成一条记录 分析: 不能使用List&amp;lt;Map&amp;lt;String, List&amp;lt;Map&amp;lt;&amp;lt;String,Object&amp;gt;&amp;gt;&amp;gt;&amp;g...
Java 学习笔记---Java List合并重复类型
1、问题描述: 要合并A B 两个集合(A B 内部不重复),等到C 要求C没有重复的类型 ; A.removeAll(B); A.addAll(B); 2、问题描述: 要合并A B 两个集合,等到C 要求C没有重复的类型,重复类型中的权重相加; 想到的方法: 1、排序 2、合并重复 具体代码如下: import ja...
合并List<Map<String,String>>中的重复数据并对某个字段做累加
package demo; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class mergeData { public static void main(String[] args) { List> l
最近在学习的DOM4J解析XML文档实例,也许有点帮助,
<br />不多说,看代码:<br />import java.io.File;<br /> import java.util.List;<br /><br /> import org.dom4j.Document;<br /> import org.dom4j.Element;<br /> import org.dom4j.io.SAXReader;<br /><br /> public class ReadExample{<br /> public static void main(Stri
递归法合并嵌套list
递归法合并嵌套list 先构造一个函数,通过循环遍历集合 每遇到一个元素,判断该元素是不是集合,如果是继续递归调用函数 def combine(input_list, output_list): for item in input_list: if isinstance(item, list): output_list...
如果list中的对像的编号相同就把对像合并,并将数量相加
个人项目中遇到了一个需求: 1.假设有产品中有很多零配件,很多产品中的零配件有通用件,也就是编号一样的零配件。 2.如果客户下订单,订单中有很多产品。 3.然后要根据这些订单中的产品的数量进行采购,如果他们中有通用件的话就需要把相同编号的数量相加,不然就会出问题的,如果一个产品用500个某零配件,另一个产品也用500个零配件。那么这个零配件就采购1000个才可以,但是在
Java中List去重和合并
// 删除ArrayList中重复元素      public  List&amp;lt;Map&amp;lt;String,Object&amp;gt;&amp;gt; clearList(List&amp;lt;Map&amp;lt;String, Object&amp;gt;&amp;gt; list)    { Map&amp;lt;String, Map&amp;gt; msp = new HashMap&amp;lt;String, Map&amp;gt;(); List&amp;...
Java合并数组List
[code=&quot;java&quot;] List list = totallogDao.listNamedQuery(&quot;RETRIEVE_TOTALLOG&quot;, null); List list2 = totallogDao.listNamedQuery(&quot;RETRIEVE_TOTALLOG_SUM&quot;, null); list.addAll(list2); return list; [/c...
合并list数据相加操作
Map&amp;lt;Integer, GoodsDTO&amp;gt; goodsDtoMap = dropGoodsDTOList.stream().collect(Collectors.toMap(GoodsDTO::getId, Function.identity(), (key1, key2) -&amp;gt; { key2.setNum(key1.getNum() + key2.getNum());...
定义两个List集合,把两个List内容合并放到第三个List
这是自定义的list ,你们可以用jdk中的list,都一个意思 MyArrayList list1 = new MyArrayList(); show1 s =new show1(); s.setId(1); s.setSoftware(“iphone”); show1 s1 =new show1(); s1.setId(2); s1.setSoftware(“ipad”); show1 s2 ...
java常用算法之两个有序list的合并
/** * 两个已顺序排序数组的合并 * * @param aList * @param bList * @return */ public static List mergeTwoSortList(List aList, List bList) { int aLength = aList.size(), bLength = bList.size(); L
Java List对象合并去重数据
最近有批数据需要处理 数据格式为List&amp;lt;bean&amp;gt; list=new ArrayList&amp;lt;bean&amp;gt;();里面存在大批相同的数据,现在需要去除相同的数据即相同数据只留下来一条,并且需要将相同数据中一个数值叠加。本来以为处理挺简单的,后来硬生生搞了好几个小时,先将实现过程放在下面。1:private int id;     private int age;     ...省...
java中set或list集合合并去重
set1 &amp;lt;User&amp;gt; //第一个user集合为set1 set2&amp;lt;User&amp;gt; //第二个user集合为set2 if(null!=set2&amp;amp;&amp;amp;set2.size()&amp;gt;0){ if(set1.size()&amp;gt;0){ set1.removeAll(set2); //set1中去除set2已有的对象 set1.addAll...
利用list来合并数据
合并同类数据,虽然可以使用pandas中的dataframe或者数据库的多表关联解决,考录到数据量不大,简单就用list进行解决 直接上源码 package com.hemin.qixiang; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.
java小算法介绍-合并List中满足某些字段相同的记录
java小算法介绍-合并List中满足某些字段相同的记录 有这么一个需求:List中存放的是一个对象,如Student,里面有n个字段,现在想合并列表中满足一些字段相等的情况下合并其中的金额等其他字段。如: Student的字段: class Student{ private String store; private int money; private...
java实现两个不同list对象合并后并排序
最近工作上遇到一个要求两个不同list对象合并后并排序,网上有很多相关文章,但都是相同的list对象合并在排序,可是我遇到不同的list对象合并后并排序。于是自己动手写了一个。大家可以参考。 问题描述从数据库中查询两张表的当天数据,并对这两张表的数据,进行合并,然后根据时间排序。思路从数据库中查询到的数据放到各自list中,先遍历两个list,存到主list中,然后根据各自list的对象属性time