记录一下显示Map<String, ArrayList<String>>中的ArrayList里的数据的操作
1、有以下数据:
ArrayList<Employee> emp = new ArrayList<>();
emp.add(new Employee("zhang", 20));
emp.add(new Employee("liang", 30));
emp.add(new Employee("zhou", 40));
emp.add(new Employee("zang", 25));
emp.add(new Employee("chang", 13));
emp.add(new Employee("jiang", 31));
emp.add(new Employee("hang", 54));
emp.add(new Employee("huang", 30));
emp.add(new Employee("zhan", 24));
emp.add(new Employee("cong", 29));
HashMap<Integer, ArrayList<Employee>> map = new HashMap<>();
map.put(1, emp);
2、 方法一使用entrySet:
for (Map.Entry<Integer, ArrayList<Employee>> e : map.entrySet()) {
for(Employee ee : e.getValue()) {
System.out.println(ee.toString());
}
}
结果如下:
方法一(entrySet):
zhang, 20.0
liang, 30.0
zhou, 40.0
zang, 25.0
chang, 13.0
jiang, 31.0
hang, 54.0
huang, 30.0
zhan, 24.0
cong, 29.0
3、 方法二,使用迭代:
Iterator<Entry<Integer, ArrayList<Employee>>> iterator = map.entrySet().iterator();
while(iterator.hasNext()) {
Entry<Integer, ArrayList<Employee>> ss = (Entry<Integer, ArrayList<Employee>>) iterator.next();
for (Employee employee : ss.getValue()) {
System.out.println(employee);
}
}
结果如下:
方法二(使用迭代):
zhang, 20.0
liang, 30.0
zhou, 40.0
zang, 25.0
chang, 13.0
jiang, 31.0
hang, 54.0
huang, 30.0
zhan, 24.0
cong, 29.0
4、方法三,使用stream的flatMap:
map.values().stream().flatMap(mapper -> mapper.stream()).forEach(mp -> System.out.println(mp));
结果如下:
flatMap:
zhang, 20.0
liang, 30.0
zhou, 40.0
zang, 25.0
chang, 13.0
jiang, 31.0
hang, 54.0
huang, 30.0
zhan, 24.0
cong, 29.0
记录一下显示Map<String, ArrayList<String>>中的ArrayList里的数据的操作的更多相关文章
- 关于Android中获取Intent里的数据
Intent获取数据和发送数据的办法: //直接通过Intent发送 intent.putExtra("name","wytings"); //直接通过Inte ...
- JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类
<pre name="code" class="java"></pre><pre name="code" cl ...
- C#部分---arraylist集合、arraylist集合中的object数据转换成int类string类等;间隔时间的表示方法;
ArrayList和Array的区别: 相同点:1.两者都实现了IList.ICollection.IEnumerable接口: 2.两者都可以使用证书索引访问集合中的元素,包括读取和赋值 ...
- C#中ArrayList 、Array与、string、string[]数组的相关转换
一.ArrayList 与 string.string[]数组的转换 1.ArrayList 转换为 string[] : ArrayList list = new ArrayList(); list ...
- hiho1482出勤记录II(string类字符串中查找字符串,库函数的应用)
string类中有很多好用的函数,这里介绍在string类字符串中查找字符串的函数. string类字符串中查找字符串一般可以用: 1.s.find(s1)函数,从前往后查找与目标字符串匹配的第一个位 ...
- 面试官:如何在Integer类型的ArrayList中同时添加String、Character、Boolean等类型的数据? | Java反射高级应用
原文链接:原文来自公众号:C you again,欢迎关注! 1.问题描述 "如何在Integer类型的ArrayList中同时添加String.Character.Boolean等 ...
- android 中List转换String,String转换List 改进版本
原来博客地址http://blog.csdn.net/qq7342272/article/details/6830907 使用原作者贴的代码不是很好用,不能正常运行,所以我稍微改进了一下,特来分享给大 ...
- Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)
一.学习ArrayList与Map时,关于常用遍历方法的记录如下: 二.附源码如下: package com.study.in.myself; import java.util.ArrayList; ...
- Java--泛型理解和使用 (List<String> list = new ArrayList<String>(); )
List<String> list = new ArrayList<String>(); 第一次看到这行代码是一头雾水,查了好久才弄清楚这是什么东西,怎么用,所以记录下来,方便 ...
随机推荐
- JVM实例以及内存的分配机制
JVM:一台用来模拟计算机执行计算指令的虚拟计算机,拥有自己的指令,指令执行环境,虚拟内存等. 下面介绍虚拟机(JVM)--cpu,寄存器,内存,指令 ======================== ...
- nginx.conf_2017-11-24
user webroot; worker_processes 4; worker_cpu_affinity 1000 0100 0010 0001; worker_rlimit_nofile 6550 ...
- 深度解析Java中的那把锁
锁的本质 我们先来讨论锁的出现是为了解决什么问题,锁要保证的事情其实很好理解,同一件事(一个代码块)在同一时刻只能由一个人(线程)操作. 这里所说的锁为排他锁,暂不考虑读写锁的情况 我们在这里打个比方 ...
- 好记性不如烂笔头-linux学习笔记2kickstart自动化安装和cacti
kickstart自动化安装的逻辑梳理 主要是安装tftp nfs dhcp 然后配置kickstart 原来就是先安装tftp 可实现不同机器的文件下载 然后在安装nfs 就是主服务器的文件系统 然 ...
- centos7上安装rar解压软件
(http://www.rarlab.com)官网可以查看最新的版本 wget https://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz 2.tar.g ...
- php自动生成mysql的触发代码。
如果公司里有上百个表要做触发器,如果手动写代码的话.很累,所以今天写了一个小程序, <?php $dbname = 'test';//数据库 $tab1 = 'user'; //执行的表 $ta ...
- Windows环境下为PHP5.6安装redis扩展和memcached扩展
一.php安装redis扩展 1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本 2.根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2 ...
- 用API处理位图
procedure TForm1.Button1Click(Sender: TObject); var dc : hdc; MemDc : hdc; MemBitmap : hBitmap; OldM ...
- Kubernetes的UI界面Kubernetes Dashboard的搭建
1.搭建准备 Kubernetes集群的安装部署 2.搭建过程 2.1.在master节点上创建kubernetes-dashboard.yaml cd /etc/kubernetes vim kub ...
- CSS使文字、大小不固定的图片垂直居中
一:单行文字垂直居中 使用line-height为父元素高度即可. 二:多行文字垂直居中 使用display:table-cell属性. 将父元素设置为display:table-cell,同时ver ...