000 list与map的foreach使用
一:list的使用
1.程序
package com.jun.it.java8; import java.util.ArrayList;
import java.util.List; public class Foreach8 {
public static void main(String[] args) {
foreachList();
} //对list做foreach
public static void foreachList(){
List<User> list = new ArrayList<>();
list.add(new User(1,"aaa"));
list.add(new User(5,"ttt"));
list.add(new User(3,"ccc"));
list.forEach(user -> {
user.setId(user.getId()+10);
});
System.out.println(list);
} private static class User{
Integer id;
String name;
public User(){}
public User(Integer id, String name){
this.id=id;
this.name=name;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
} }
效果:

二:map的使用
1.程序
package com.jun.it.java8; import java.util.HashMap;
import java.util.Map; public class ForeachMap {
public static void main(String[] args) {
foreachMap();
} //对map做foreach
public static void foreachMap(){
Map<Integer,User> userMap = new HashMap<>();
userMap.put(1,new User(1,"aaa"));
userMap.put(5,new User(5,"ddd"));
userMap.put(3,new User(3,"ccc"));
userMap.forEach((k, v)->{
System.out.println("k="+k+",v="+v);
});
} private static class User{
Integer id;
String name;
public User(){}
public User(Integer id, String name){
this.id=id;
this.name=name;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} @Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
}
效果:

三:复习
1.说明
这里主要是对以前的遍历的一个说明
2.entrySet方法
package com.jun.it.java8; import java.util.HashMap;
import java.util.Map; public class ForDemo {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("a",1);
map.put("c",3);
map.put("b",2);
test1(map);
} //entrySet
public static void test1(Map<String,Integer> map){
for (Map.Entry<String,Integer> entry : map.entrySet()){
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("key="+key+",value="+value);
}
}
}
3.Iterator方式
发现后面是一样的。
package com.jun.it.java8; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; public class ForDemo {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("a",1);
map.put("c",3);
map.put("b",2);
test1(map);
} //entrySet
public static void test1(Map<String,Integer> map){
for (Map.Entry<String,Integer> entry : map.entrySet()){
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("key="+key+",value="+value);
}
} //Iterator接口
public static void test2(Map<String,Integer> map){
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, Integer> next = iterator.next();
}
}
}
4.keySet方式
package com.jun.it.java8; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; public class ForDemo {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("a",1);
map.put("c",3);
map.put("b",2);
test1(map);
} //entrySet
public static void test1(Map<String,Integer> map){
for (Map.Entry<String,Integer> entry : map.entrySet()){
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("key="+key+",value="+value);
}
} //Iterator接口
public static void test2(Map<String,Integer> map){
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, Integer> next = iterator.next();
}
} //使用keySet
public static void test3(Map<String,Integer> map){
for (String key : map.keySet()){
Integer value=map.get(key);
}
}
}
000 list与map的foreach使用的更多相关文章
- JavaScript 中 map、foreach、reduce 间的区别
一直对map.foreach.reduce这些函数很是生疏,今天看underscorejs时好好研究了一下,一研究我就更懵了,这不是一样嘛,都是遍历,所以我就去知乎找了一下,整理出了比较好的几个说法. ...
- 【Javascript】JS遍历数组的三种方法:map、forEach、filter
前言 近一段时间,因为项目原因,会经常在前端对数组进行遍历.处理,JS自带的遍历方法有很多种,往往不加留意,就可能导致知识混乱的现象,并且其中还存在一些坑.前端时间在ediary中总结了js原生自带的 ...
- java8 list和map的forEach
list forEach示例 public class HelloWorld { public static void main(String[] args) { List<User> l ...
- JavaScript中Map和ForEach的区别
译者按: 惯用Haskell的我更爱map. 原文: JavaScript — Map vs. ForEach - What’s the difference between Map and ForE ...
- Javascript的map与forEach的区别
原理: 高级浏览器支持forEach方法语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是没 ...
- JS中map与forEach的区别
很多同学可能对于map与forEach的区别不是太了解,今天我们介绍一下JS中的map与forEach方法, 我对map的理解是,这个方法对一个数组arr1中的每一个元素进行遍历(传递给一个数组,参数 ...
- ES5中, map 和 forEach的区别
forEach和map区别在哪里知道吗? // forEach Array.prototype.forEach(callback(item, index, thisArr), thisArg) // ...
- .map() vs .forEach() vs for() 如何选择?
访问原文地址 .map() vs .forEach() vs for() 笔者说,自己基本没怎么用过for()来遍历,主要是用.forEach(). 但是总是会被很多朋友说,这些人认为for()的速度 ...
- 《ES6基础教程》之 map、forEach、filter indexOf 用法
1,map,对数组的每个元素进行一定操作,返回一个新的数组. var oldArr = [{first_name:"Colin",last_name:"Toh" ...
随机推荐
- 四、Linux_用户切换
四.用户切换 # 切换用户的命令为: su username # 从普通用户切换到root用户,还可以使用命令: sudo su
- [CAN].CAN总线详解
转自:https://blog.csdn.net/cheatscat/article/details/82886889 CAN(Controller Area Network)总线协议是由 BOSCH ...
- LeetCode初级算法--其他02:有效的括号
LeetCode初级算法--其他02:有效的括号 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net ...
- Django REST framework —— 认证组件源码分析
我在前面的博客里已经讲过了,我们一般编写API的时候用的方式 class CoursesView(ViewSetMixin,APIView): pass 这种方式的有点是,灵活性比较大,可以根据自己的 ...
- 字节序 —— Big Endian 和 Little Endian
一.字节序 字节序指的是多字节的数据在内存中的存放顺序 内存有高地址端与低地址端.其中,低地址端既可以存放高位字节,也可以存放低位字节. Big Endian 是指低地址端 存放 高位字节. Litt ...
- 检测并修改linux服务器日期
公司的一个应用服务器license到期了,商务上短时间解决不了.只好将服务器的时间调到去年,临时将就一下. 服务器是vmware虚拟机装的centos,日期每隔一段时间会自动同步,百度了好久,也关闭不 ...
- junit3和junit4的区别总结
先来看一个例子: 先用junit3来写测试用例,如下: junit3测试结果: 从上面可看出: 1.junit3必须要继承TestCase类 2.每次执行一个测试用例前,junit3执行一遍setup ...
- WinDbg常用命令系列---!envvar
!envvar 简介 !envvar扩展命令显示特定环境变量的值. 使用形式 !envvar Variable 参数 Variable指定显示其值的环境变量.变量不区分大小写. 环境 Windows ...
- 是Mscoreei.dll的正确版本吗?
在安装.NET 4.0或更高版本之后,您可能会注意到.NET进程有点不寻常.下面是用.NET 2.0编译器编译的简单“Hello World”可执行文件的加载模块的部分列表. 开始-结束模块名称 60 ...
- Lightning Web Components 组件样式(四)
要将样式与组件进行绑定,需要创建一个同名的样式文件,这样样式将会自动应用到组件 在组件中定义的样式的作用域是属于组件的,这样允许组件可以在不同的上下文中可以复用, 可以阻止其他组件的样式的复写 css ...