将 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);
}
}
将 List<UserInfo>中的对象按照UserInfo.name进行分组的更多相关文章
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- js中判断对象具体类型
大家可能知道js中判断对象类型可以用typeof来判断.看下面的情况 <script> alert(typeof 1);//number alert(typeof "2" ...
- 浅解析js中的对象
浅解析js中的对象 原文网址:http://www.cnblogs.com/foodoir/p/5971686.html,转载请注明出处. 前面的话: 说到对象,我首先想到的是每到过年过节见长辈的时候 ...
- js中XMLHttpRequest对象实现GET、POST异步传输
js中XMLHttpRequest对象实现GET.POST异步传输 /* * 统一XHR接口 */ function createXHR() { // IE7+,Firefox, Opera, Chr ...
- 浅谈Java中的对象和引用
浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...
- Hibernate中Java对象的三种状态
Hibernate中Java对象的三种 ...
- 批量导出oracle中的对象
背景 Oracle数据库中有table,view,procedure,function,package,type等对象,需要将这些对象导出到不同的文件中.常用的方法有3种:1. 通过开发工具直接导出. ...
- 缓存依赖中cachedependency对象
缓存依赖主要提供以下功能:1.SQL 缓存依赖项可用于应用程序缓存和页输出缓存.2.可在 SQL Server 7.0 及更高版本中使用 SQL 缓存依赖项.3.可以在网络园(一台服务器上存在多个处理 ...
- JVM中,对象在内存中的布局
在hotSpot虚拟机中,对象在内存中的布局可以分成对象头.实例数据.对齐填充三部分. 对象头:主要包括: 1.对象自身的运行行元数据,比如哈希码.GC分代年龄.锁状态标志等,这部分长度在32位虚拟机 ...
随机推荐
- MFC操作excel
环境:VS2013+office2007 头文件: #pragma once #ifndef __MYEXCEL_H_ #define __MYEXCEL_H_ #include "CApp ...
- 快速创建一个springboot项目
创建一个maven项目(springboot.mybatis-plus) 目标:可以访问ftl页面.对象(json字符串),可以进行单元测试 1.新建一个maven项目,选择模板maven-arche ...
- Python学习【第十一篇】模块(1)
模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 简单地说,模块就是一个保 ...
- 用jsonp格式的数据进行ajax post请求变成get
因为 dataType 是 jsonp 而不是 json jsonp不支持POST跨域,所以会自动转成GET而关于jsonp为什么不支持post请求,百度到的答案是jsonp为动态的script,没有 ...
- Git(分布式版本控制系统)在Windows下的使用-将代码托管到开源中国(oschina)
一.Git是什么? Git --- The stupid content tracker, 傻瓜内容跟踪器.Git是目前世界上最先进的分布式版本控制系统. 二.SVN与Git的最主要的区别? ...
- python引用py文件中文报错
文件 a.py 中引用文件 b.py 如果文件b.py中包含中文,会报错. 文件hello.py中代码如下: def say_nihao(): print "你好" 文件main. ...
- MySQL 联合索引详解
MySQL 联合索引详解 联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c ...
- 在windows 与Linux间实现文件传输(C++&C实现)
要实现windows与linux间的文件传输,可以通过socket网络编程来实现. 这次要实现的功能与<Windows下通过socket进行字符串和文件传输>中实现的功能相同,即客户端首先 ...
- Oracle 正则表达式函数-REGEXP_SUBSTR 使用例子
原文在这 戳 REGEXP_SUBSTR 5个参数 第一个是输入的字符串 第二个是正则表达式 第三个是标识从第几个字符开始正则表达式匹配.(默认为1) 第四个是标识第几个匹配组.(默认为1) 第五个是 ...
- 彻底卸载Oracle
彻底卸载Oracle 用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢?那就是直接注册表清除,步骤如下: 1. 开始->设置 ...