0 0

java List<Map<String,Object>>数量统计0

如题,假如List<Map<String,Object>>数据如下:
{
   [id="1",name="zhangsan",sex="1"],
  
   [id="2",name="zhangsan",sex="1"],

   [id="3",name="lisi",sex="1"],

   [id="4",name="lisi",sex="1"],

}

怎么分别统计出name="zhangsan"和name="lisi" 的数量并把name和统计出来的count到到一个map中。

2个答案 按时间排序 按投票排序

0 0

package com.koolsee.xulonghui.test;

import java.util.HashMap;
import java.util.Map;

public class Test {

    public static void main(String[] args) {
        Test t = new Test();
        Map<Integer, User> map = new HashMap<Integer, User>();
        map.put(1, t.new User(1, "zhansan", 1));
        map.put(2, t.new User(2, "zhansan", 1));
        map.put(3, t.new User(3, "lisi", 1));
        map.put(4, t.new User(4, "lisi", 1));
        map.put(5, t.new User(5, "wangwu", 1));
        map.put(6, t.new User(6, "zhaoliu", 1));
        System.out.println(getNameCount(map));

    }

    private static Map<String, Integer> getNameCount(Map<Integer, User> map) {
        Map<String, Integer> resultMap = null;
        if ((map != null) && !map.isEmpty()) {
            resultMap = new HashMap<String, Integer>();
            for (Integer key : map.keySet()) {
                User user = map.get(key);
                Integer count = resultMap.get(user.getName());
                if (count != null) {
                    resultMap.put(user.getName(), count + 1);
                } else {
                    resultMap.put(user.getName(), 1);
                }
            }
        }
        return resultMap;
    }

    public class User {

        private Integer id;

        private String name;

        private Integer sex;

        public User(Integer id, String name, Integer sex) {
            super();
            this.id = id;
            this.name = name;
            this.sex = sex;
        }

        public Integer getId() {
            return this.id;
        }

        public void setId(Integer id) {
            this.id = id;
        }

        public String getName() {
            return this.name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Integer getSex() {
            return this.sex;
        }

        public void setSex(Integer sex) {
            this.sex = sex;
        }

    }

}

2013年7月06日 18:10
0 0

我给你提供一个思路

//

Map<String,Integer> resMap =new HashMap<String,Integer>()
for( Map<String,Object> aMap:List<Map<String,Object>){

     String key = aMap.get(name);
     if(resMap.containsKey(key)){
          //resMap 取出加1
          //再放到Map里  
     }else{
       Integer count=1;
       resMap.put(key,count);
       //
     }   



}

2013年6月30日 16:23

相关推荐

    List转换为List

    List&lt;Map&lt;String, Object&gt;&gt; resultList = new ArrayList&lt;Map&lt;String, Object&gt;&gt;(); for (AnnouncementBean announcementBean : listAnnouncementBean) { Map&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;(); ...

    ResultSet 转为listmap

    List&lt;Map&lt;String,Object&gt;&gt; results = new ArrayList&lt;Map&lt;String,Object&gt;&gt;(); ResultSetMetaData rsmd = rs.getMetaData(); int colCount = rsmd.getColumnCount(); List&lt;String&gt; colNameList = new ArrayList...

    List&lt;map&gt;多字段组合排序

    List&lt;map&gt;,List&lt;Map&lt;String, Object&gt;&gt;,多字段组合排序。提供一个简易的思路,如果需要进行参考。

    android 用json+zip把list<map<String,object>>类型大量数据创建为二维码图片,并解码

    android 用json+zip把list&lt;map&lt;String,object&gt;&gt;类型大量数据创建为二维码图片,并且用zip算法压缩,提高二维码图片的数据存储量,压缩包中有两个工程一个是创建二维码图片的工程,一个是解析二维码图片数据的工程

    java 读取csv 并转为Map<String,Object>

    通过引用【opevcsv】依赖,逐行读取数据 并转为Map&lt;String,Object&gt;格式,后续可以通过BeanUtil.MaptoBean()方法将map转为你需要的bean对象; csv文件必须带表头,bean对象命名符合驼峰格式; 通过此方法可以快速的将...

    java-echart.js柱状图、饼状图、折线图

    Map&lt;String,Object&gt; map = new HashMap&lt;&gt;(); map.put("name", "山东"); map.put("value", 200); map.put("id", 1); Map&lt;String,Object&gt; map1 = new HashMap&lt;&gt;(); map1.put("name", "江苏"); map1....

    json字符串转成 Map/List

    List&lt;Map&lt;String, Object&gt;&gt; list = new ArrayList&lt;&gt;(); for (int i = 0; i &lt; jsonArray.length(); i++) { JSONObject obj = jsonArray.getJSONObject(i); Map&lt;String, Object&gt; itemMap = new HashMap&lt;&gt;(); for ...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    Map&lt;String, String&gt; result = new HashMap&lt;&gt;(); NodeList nodeList = root.getChildNodes(); for (int i = 0; i &lt; nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node.getNodeType() == ...

    FreeMarker 遍历list

    List&lt;Map&lt;String, Object&gt;&gt; dataList = ... // 初始化并填充数据 modelAndView.addObject("dataList", dataList); // Spring MVC示例 ``` 2. **在FTL模板中引用数据**:在FreeMarker模板中,你可以通过`dataList`...

    Java实现对两个List快速去重并排序操作示例

    List&lt;Map&lt;String,Object&gt;&gt; listMap1 = new LinkedList&lt;Map&lt;String,Object&gt;&gt;(); // ... Set&lt;Map&gt; setMap = new HashSet&lt;Map&gt;(); for(Map&lt;String,Object&gt; map1 : listMap1){ if(setMap.add(map1)){ listMap2.add(map...

    Java中对list map根据map某个key值进行排序的方法

    List&lt;Map&lt;String, Object&gt;&gt; list = new ArrayList&lt;Map&lt;String, Object&gt;&gt;(); Map&lt;String, Object&gt; map1 = new HashMap&lt;String, Object&gt;(); map1.put("name", "p"); map1.put("cj", "5"); Map&lt;String, Object&gt; map2 = ...

    Lambda-List的转化操作

    接下来我们就通过几个基本常用的及非典型的案例来说明Lambda表达式的使用 List转换为List&lt;T.ID&gt; List转Map List 转化为 Map&lt;T.ID,T.NAME&gt; ...List&lt;Map&lt;String,Object&gt;&gt;转Map&lt;String,Map&lt;String,Object&gt;

    java实现innerjoin关联算法

    List&lt;Map&lt;String,Object&gt;&gt; list1 = new ArrayList&lt;&gt;(); List&lt;Map&lt;String,Object&gt;&gt; list2 = new ArrayList&lt;&gt;(); List&lt;Map&lt;String,Object&gt;&gt; list3 = new ArrayList&lt;&gt;(); 现在需要根据一个输入的字符"list1.column1=...

    Java jdbc分页工具类

    java jdbc 分页工具类,以及返回集合数据的封装, private int limit = 10;//每页的个数 /** * 当前页 */ private int page;... private List&lt;Map&lt;String,Object&gt;&gt; datas=new ArrayList&lt;Map&lt;String,Object&gt;&gt;();

    读取excel(.xls,.xlsx)文件JAVA源代码

    可以传入文件的 开始行,结束行,sheet页名称,开始列,结束列,读取文件,返回List&lt;Map&lt;String, Object&gt;&gt;类型和List&lt;List&lt;Object&gt;&gt;类型,List&lt;Map&lt;String, Object&gt;&gt;需要传入对应的key字符串,然后用“;”...

    click-house-jdbc-test.zip

    batchInsertData(clickhouse.service.impl.ClickHouseWrap clickHouseWrap, String tableName, List&lt;Map&lt;String,Object&gt;&gt; fieldValues) 批量插入数据 void batchInsertData(String tableName, List&lt;Map&lt;String,...

    基于JSP和Servlet的网上蛋糕商城源码+数据库+项目说明(毕设项目).zip

    &lt;项目介绍&gt; 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 该资源适合计算机相关专业(如人工智能、通信工程、自动化、软件工程等)的在校学生、...

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    在Java 8中将List转换为Map对象方法

    Map&lt;Integer, String&gt; mapOfEmployees = employees.stream().collect( Collectors.toMap(e -&gt; e.getEmpId(), e -&gt; e.getEmpName())); 在上面的代码中,我们使用了Collectors.toMap()方法来将List转换为Map,key是...

Global site tag (gtag.js) - Google Analytics