Java 将一个list按照某个字段分组后放入到一个新的list里面

表:

List<Map> dataList = 从数据库查询到的
Map dataItem; // 数据库中查询到的每条记录
Map<String, List<Map>> resultMap= new HashMap<String, List<Map>>(); // 最终要的结果
for(int i=0;i<dataList.size();i++){
    dataItem = dataList.get(i);
    if(resultMap.containsKey(dataItem.get("merohant_id"))){
        resultMap.get(dataItem.get("merohant_id")).add(dataItem);
    }else{
        List<Map> list = new ArrayList<Map>();
        list.add(dataItem);
        resultMap.put(dataItem.get("merohant_id"),list);
    }
}

追问

dataItem = dataList.get(i);从数据库里查询一个map的返回对象?

追答

温馨提示:内容为网友见解,仅供参考
无其他回答

Java 将一个list按照某个字段分组后放入到一个新的list里面
List<Map> dataList = 从数据库查询到的Map dataItem; \/\/ 数据库中查询到的每条记录Map<String, List<Map>> resultMap= new HashMap<String, List<Map>>(); \/\/ 最终要的结果for(int i=0;i<dataList.size();i++){ dataItem = dataList.get(i); if(resultMap.containsKey(dataItem....

java怎么把一个list中的内容添加至另一个list中
采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:2.采用ArrayList自带的addAll()方法。addAll()方法是通过传入整一个List,将此List中的所有元素加入到新的List中,也就是当前List会增加的元素个数等于传入的List的大小。该方法较为简单...

java 如何指定原List其中一部分进行复制到新的list
public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); List<String> list2 = new ArrayList<String>(); list1.add("1"); list1.add("2"); list1.add("3"); list2.add("a"); \/\/赋值list1前两个到list2中 System.o...

java把一个list中的内容添加到另一个list中
采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:2.采用ArrayList自带的addAll()方法。addAll()方法是通过传入整一个List,将此List中的所有元素加入到新的List中,也就是当前List会增加的元素个数等于传入的List的大小。该方法较为简单...

JAVA一个泛型数组List<?> 怎么复制某几行到另外一个List<?>?
但是请注意list1和list2是不相同,也没有继承关系的同级别类型,你正试图把一个Long 类型放入一个只能够放置Double类型的List 中,如果java允许你这样来操作元素,那不是和泛型本身希望提高类型安全的目的背道而驰了吗?这个问题里你需要注意的是,想要传递的类型参数是有关系的,lIst1的?号应该是list2...

java如何让list按照list里面的某个字段排序,list里面的有很...
1. 使用Collections.sort方法或List的sort方法:Java提供了对List进行排序的功能,可以通过Collections.sort方法或List自身的sort方法实现。这些方法可以根据元素的自然顺序或者通过传递一个Comparator对象来自定义排序规则。2. 自定义Comparator实现:如果要按照List中的某个字段进行排序,需要创建一个实现了...

Java 将List中所有item中的某一个字段值提出来生成一个新的List
as .forEach(n -> a1s.add(n.a1));

Java求助:将一个list中的不同元素,不重复地放进另一个list中
import java.util.List;import java.util.Map;public class TestList { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>();list.add(1);list.add(1);list.add(1);list.add(2);list.add(2);list.add(3);Map<Integer, Integer> map = new Hash...

java 在一个类的list如何拿到另一个类中循环
有可能是你没有把第一个类中生成的list 放到 另一个类新定义的List里面 以下代码仅供参考 package baiduzhidao;import java.util.ArrayList;import java.util.List;public class Main {public static void main(String[] args) {B b = new B();System.out.println("size=" + b.getList()....

java怎么从一个表里搜索出所有字段名并放到一个list里
user.setJob(rs.getInt("job"));\/\/这里假设楼主设置了实体类的Job属性为外键编号,如果是一个实体类,会比较复杂,如果楼主到时候不想采用这里的方式在讨论这个时候加载实体类吧 users.add(user);} HibernateTemplate(spring):。。。好吧,其实我想说这种方式就是根据你的映射文件自动封装的 ...

相似回答