zoukankan      html  css  js  c++  java
  • 将 List<UserInfo>中的对象按照UserInfo.name进行分组

    package yq;

    import java.util.ArrayList;
    import java.util.LinkedHashMap;
    import java.util.List;

    import com.mysql.fabric.xmlrpc.base.Array;
    /**
    * 现有 List<UserInfo>,按照UserInfo中的姓名放到不同的List中。
    * 方案解决如下:
    * @author master
    *
    */
    public class TestList {
    public static void main(String[] args) {
    List<UserInfo> arrayList = new ArrayList<UserInfo>();
    arrayList.add(new UserInfo(1l, "wangliang", "a"));
    arrayList.add(new UserInfo(2l, "wangliang", "16"));
    arrayList.add(new UserInfo(3l, "wangliang", "12"));
    arrayList.add(new UserInfo(4l, "qy", "126"));
    arrayList.add(new UserInfo(5l, "yq", "123456"));
    arrayList.add(new UserInfo(5l, "yq", "qqq"));
    arrayList.add(new UserInfo(6l, "qy", "111"));
    /*
    * 方式一:
    * LinkedHashMap<String, ArrayList<UserInfo>> map=new LinkedHashMap<String,ArrayList<UserInfo>>();
    for (UserInfo userInfo : arrayList) {
    //if contains key
    if(map.containsKey(userInfo.getName())){
    map.get(userInfo.getName()).add(userInfo);
    }else{
    ArrayList<UserInfo> userInfoValue = new ArrayList<UserInfo>();
    userInfoValue.add(userInfo);
    map.put(userInfo.getName(), userInfoValue);
    }
    }
    System.out.println(map);
    */
    /*方式二:*/
    LinkedHashMap<String, ArrayList<UserInfo>> map=new LinkedHashMap<String,ArrayList<UserInfo>>();
    for (UserInfo uInfo :arrayList) {
    if(!map.containsKey(uInfo.getName())){
    map.put(uInfo.getName(),new ArrayList());
    }
    map.get(uInfo.getName()).add(uInfo);
    }
    System.out.println(map);
    }
    }

  • 相关阅读:
    DOM、Window对象操作
    JavaScript基础
    关于样式表的两个练习
    css样式表
    表单
    HTML的格式、内容容器、表格标签
    C#部分的总结
    Android自定义View之音频条形图
    String, StringBuilder, StringBuffer问题
    详解Java中ArrayList、Vector、LinkedList三者的异同点(转)
  • 原文地址:https://www.cnblogs.com/wlhebut/p/6238319.html
Copyright © 2011-2022 走看看