Java8中forEach语句循环一个List和Map
作者:软测小生 发布时间:2021-06-02 07:03:54
标签:java8,map,forEach
在这篇文章中,我将向您展示如何用新的Java 8 forEach语句循环一个List和Map。
1、forEach 和 Map
1.1、常规循环Map常用的方法。
Map<String ,Integer> items = new HashMap<>();
items.put("A",10);
items.put("B",20);
items.put("C",30);
items.put("D",40);
items.put("E",50);
items.put("F",60);
for(Map.Entry<String Integer> entry : items.entrySet()){
System.out.println("Item : "+enty.getKey() + " Count :" + entry.getVlaue())
}
1.2 、在Java 8中, 你可以用forEach + lambda表达式来循环Map
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
items.forEach((k,v)->System.out.println(" Item : "+ k + " Count : " + v));
//items.forEach((k,v)->{System.out.println(" Item : "+ k + " Count : " + v);});
items.forEach((k,v)->{
System.out.println("Item : " + k + " Count : " + v);
if("E".equals(k)){
System.out.println("Hello E");
}
});
2、forEach 和 List
2.1、常规的循环List的方法
List<String> items = new ArrayList<>();
items.add("Anna");
items.add("Brian");
items.add("Cici");
items.add("Elena");
//常规的循环List的方法
for(String item : items){
System.out.println(item);
}
2.2、在Java 8中, 你可以用forEach + lambda表达式 或者方法调用来循环Map
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
//在Java 8中, 你可以用forEach + lambda表达式来循环Map
//输出上面put的所有列表
items.forEach((k,v)->System.out.println(" Item : "+ k + " Count : " + v));
//items.forEach((k,v)->{System.out.println(" Item : "+ k + " Count : " + v);});
//输出上面put的所有列表 + Hello E
items.forEach((k,v)->{
System.out.println("Item : " + k + " Count : " + v);
if("E".equals(k)){
System.out.println("Hello E");
}
});
Map
package com.foreach.learn;
import java.util.HashMap;
import java.util.Map;
public class forEachLearnMap {
public static void main(String[] args) {
//forEach 和 Map
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
//常规的循环Map的方法
for(Map.Entry<String, Integer> entry : items.entrySet()) {
System.out.println(" Item : "+ entry.getKey() + " Count : " + entry.getValue());
}
//在Java 8中, 你可以用forEach + lambda表达式来循环Map
//输出上面put的所有列表
items.forEach((k,v)->System.out.println(" Item : "+ k + " Count : " + v));
//items.forEach((k,v)->{System.out.println(" Item : "+ k + " Count : " + v);});
//输出上面put的所有列表 + Hello E
items.forEach((k,v)->{
System.out.println("Item : " + k + " Count : " + v);
if("E".equals(k)){
System.out.println("Hello E");
}
});
}
}
Lsit:
package com.foreach.learn;
import java.util.ArrayList;
import java.util.List;
public class forEachLearnList {
public static void main(String[] args) {
List<String> items = new ArrayList<>();
items.add("Anna");
items.add("Brian");
items.add("Cici");
items.add("Elena");
//常规的循环List的方法
for(String item : items){
System.out.println(item);
}
//在Java 8中, 你可以用forEach + lambda表达式 或者方法调用来循环Map
//lambda
//输出 : Anna, Brian, Cici, Elena
items.forEach(item->System.out.println(item));
//输出 Cici
items.forEach(item->{
if("Cici".equals(item)){
System.out.println(item);
}
});
//方法调用
//输出 : Anna, Brian, Cici, Elena
items.forEach(System.out::println);
//Stream and filter
//输出Brian
items.stream()
.filter(s->s.contains("Brian"))
.forEach(System.out::println);
}
}
来源:https://cloud.tencent.com/developer/article/1457540
0
投稿
猜你喜欢
- 已知字符串“aabbbcddddeeffffghijklmnopqrst”编程找出出现最多的字符和次数,要求时间复杂度小于O(n^2)/**
- Mybatis Plus流式查询mybatis plus 中自定义如下接口,就可以实现流式查询,mybatis 中同样适用。@Select(
- 本文实例讲述了Android之复选框对话框用法。分享给大家供大家参考。具体如下:main.xml布局文件<?xml version=&
- 概述非对称加密算法与对称加密算法的主要差别在于非对称加密算法用于加密和解密的密钥不相同,非对称加密算法密钥分为公钥和私钥,公钥加密只能用私钥
- 本文实例讲述了Java实现数据库连接池的方法。分享给大家供大家参考。具体如下:package com.kyo.connection;impo
- 这篇文章主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参
- 短网址(Short URL) ,顾名思义就是看起来很短的网址。自从twitter推出短网址服务以后,各大互联网公司都推出了自己的短网址服务。
- 引言最近在工作中结合线程池使用 InheritableThreadLocal 出现了获取线程变量“错误&rdqu
- Android Studio 打包 jar 及 aar 包创建工程 New -> Module -> Library在gradl
- 简介使用 SpringBoot 配置 FTP 服务器,上传、删除、下载文件。配置 FTP检查是否安装 vsftpdrpm -qa | gre
- 1.内部类概念及分类将一个类定义在另一个类的内部或者接口内部或者方法体内部,这个类就被称为内部类,我们不妨将内部类所在的类称为外围类,除了定
- Gradle修改默认的Build配置文件名Gradle默认使用build.gradle作为默认的配置文件文件名。如果我们在build.gra
- Json的简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个
- 一.显示、隐藏 jQuery 中显示方法为:.show(),隐藏方法为:.hide()。在无参数的时候,只是硬性的显示内容和隐藏内
- 在android开发中,经常会遇到一个view需要它能够支持滑动的需求。下面通过本篇文章给大家介绍android view移动的六种方法。l
- 这篇文章主要介绍了springmvc如何使用POJO作为参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 假定存在这样一种情况多个用户对数据库进行写,我们的业务逻辑规定,每个用户只能写一次,大部分用户也只发一次请求。public void wri
- 最近在学习AngularJS的知识,收获不少,不过因为自己平时工作时开发都是用的freemarker+springmvc来做的页面数据交互,
- 问题之前一直使用Mybatis,最近尝试使用Mybatis-Plus,却在updateById登录成功后更新最近登录时间出现了问题,一般业务
- 之前学习 Java 的时候,感觉最难做的一件事情就是配置 jdk 的环境。那叫一个困难啊,Path, JAVA_HOME, CLASSPAT