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" ...
随机推荐
- Mysql 单表查询where初识
Mysql 单表查询where初识 准备数据 -- 创建测试库 -- drop database if exists student_db; create database student_db ch ...
- selenium安装并导入pycharm
selenium安装 1.python的pip安装,命令pip install selenium 2.检查是否成功安装 打开pycharm-->File-->Settings-->P ...
- 【HICP Gauss】数据库 数据库管理(文件 用户管理 系统权限 对象权限 profile)-7
数据库运行 依赖不同类型的文件 ,数据文件 参数文件 控制文件 redo日志文件 运行日志文件 审计日志文件等 数据文件 就是表空间文件 存储数据库的数据文件 参数文件 用户修改的配置信息 控制文件 ...
- kill详解
一. 终止进程的工具kill .killall.pkill.xkill 终止一个进程或终止一个正在运行的程序,一般是通过kill .killall.pkill.xkill 等进行.比如一个程序已经死掉 ...
- 使用Cloudera Manager添加Sentry服务
使用Cloudera Manager添加Sentry服务 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.通过CM添加Sentry服务 1>.点击添加服务进入CM服务安装向 ...
- C++(四十七) — 文件输入、输出流
1.文件输入.输出流 由于文件设备并不像显示器屏幕与键盘那样是标准默认设备,不能像cout那样预先定义的全局对象,所以我们必须自己定义一个该类的对象. ifstream类,它是从istream类派生 ...
- C# CefSharp如何在Winforms应用程序中使用
最近做了一个很小的功能,在网页上面打开应用程序,用vs的debug调试,可以正常打开应用程序,可布置到iis上面却无法运行应用程序,吾百度之,说是iis权限问题,吾依理做之,可怎么折腾也不行.最后bo ...
- Echo团队Alpha冲刺随笔 - 第十天
项目冲刺情况 进展 对Web端和小程序端进行各项功能的测试 问题 bug无穷无尽 心得 debug使人秃头,希望明天能挑好 今日会议内容 黄少勇 今日进展 测试小程序,对发现的bug进行处理 存在问题 ...
- Deep Learning 简介
机器学习算法概述参见:https://zhuanlan.zhihu.com/p/25327755 深度学习可以简单理解为NN的发展,二三十年前,NN曾经是ML领域非常火热的一个方向,后来慢慢淡出,原因 ...
- Vigil 发送多人邮件通知的处理
Vigil 默认是只能发送单人邮件,但是我们有需要发送多个的场景. 解决方法: 大家使用一样的账户登陆 使用邮件组 修改下源码 为了学习下Vigil 的构建,以及原理,我简单通过修改源码的方式(目前支 ...