Java List集合 遍历 四种方式(包含 Lambda 表达式遍历)
示例代码如下:
package com.miracle.luna.lambda; import java.util.ArrayList;
import java.util.List; /**
* @Author Miracle Luna
* @Date 2019/6/9 23:36
* @Version 1.0
*/
public class ListLambda {
public static void main(String[] args) {
List<String> items = new ArrayList<>(); items.add("A");
items.add("B");
items.add("C"); // 普通for循环遍历
System.out.println("第一种遍历方式:普通for循环遍历 List 集合");
for (int i = 0; i < items.size(); i++) {
System.out.println(items.get(i));
} // 增强for循环遍历
System.out.println("\n第二种遍历方式:增强for循环遍历 List 集合");
for (String item : items) {
System.out.println(item);
} // Lambda 表达式遍历(JDK 1.8)
System.out.println("\n第三种遍历方式:Lambda 表达式遍历 List 集合");
items.forEach(item->{
System.out.println(item);
}); // Lambda 表达式遍历(JDK 1.8)
System.out.println("\n第四种遍历方式:Lambda 表达式遍历 List 集合");
items.forEach(System.out::println); // 普通for循环遍历,判断List集合中是否包含字符串“C”
System.out.println("\n第一种判断方式:普通for循环遍历,判断List集合中是否包含字符串“C”");
for (int i = 0; i < items.size(); i++) {
if ("C".equals(items.get(i))){
System.out.println(items.get(i));
}
} // 增强for循环遍历,判断List集合中是否包含字符串“C”
System.out.println("\n第二种判断方式:增强for循环遍历,判断List集合中是否包含字符串“C”");
for (String item : items) {
if ("C".equals(item)){
System.out.println(item);
}
} // Lambda 表达式 判断List集合中是否包含字符串“C”(JDK 1.8)
System.out.println("\n第三种判断方式:Lambda 表达式,判断List集合中是否包含字符串“C”");
items.forEach(item->{
if ("C".equals(item)){
System.out.println(item);
}
}); // Lambda 表达式 判断List集合中是否包含字符串“C”(JDK 1.8)
System.out.println("\n第四种判断方式:Lambda 表达式,判断List集合中是否包含字符串“C”");
items.stream().filter(s->s.equals("C")).forEach(System.out::println);
}
}
运行结果如下:
第一种遍历方式:普通for循环遍历 List 集合
A
B
C
第二种遍历方式:增强for循环遍历 List 集合
A
B
C 第三种遍历方式:Lambda 表达式遍历 List 集合
A
B
C 第四种遍历方式:Lambda 表达式遍历 List 集合
A
B
C 第一种判断方式:普通for循环遍历,判断List集合中是否包含字符串“C”
C 第二种判断方式:增强for循环遍历,判断List集合中是否包含字符串“C”
C 第三种判断方式:Lambda 表达式,判断List集合中是否包含字符串“C”
C 第四种判断方式:Lambda 表达式,判断List集合中是否包含字符串“C”
C
PS:
总结,参考如下:
Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)
https://www.cnblogs.com/miracle-luna/p/10995539.html
Array数组 遍历 四种方式(包含 Lambda 表达式遍历)
https://www.cnblogs.com/miracle-luna/p/10995469.html
List集合 遍历 四种方式(包含 Lambda 表达式遍历)
https://www.cnblogs.com/miracle-luna/p/10995400.html
Map集合 遍历 五种方式(包含 Lambda 表达式遍历)
https://www.cnblogs.com/miracle-luna/p/10995132.html
Java List集合 遍历 四种方式(包含 Lambda 表达式遍历)的更多相关文章
- Java Array数组 遍历 四种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...
- Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)
示例代码如下: package com.miracle.luna.lambda; import java.util.HashMap; import java.util.Iterator; import ...
- JAVA解析XML的四种方式
java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...
- Java创建线程的四种方式
Java创建线程的四种方式 1.继承Thread类创建线程 定义Thread类的子类,并重写该类的run方法,run()方法的内容就是该线程执行的内容 创建Thread子类的实例,即创建了线程对象. ...
- java 20 -10 字节流四种方式复制mp3文件,测试效率
电脑太渣,好慢..反正速率是: 高效字节流一次读写一个字节数组 > 基本字节流一次读写一个字节数组 > 高效字节流一次读写一个字节 > 基本字节流一次读写一个字节 前两个远远快过后面 ...
- java线程实现的四种方式
java多线程的实现可以通过以下四种方式 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法 3.通过Callable和FutureTask创建线程 4.通过线程池创 ...
- Java添加事件的四种方式
Java添加事件的几种方式(转载了codebrother的文章,做了稍微的改动) /** * Java事件监听处理——自身类实现ActionListener接口,作为事件监听器 * * @author ...
- java解析xml文件四种方式
1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找 ...
- JAVA解析xml的四种方式比较
1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取 和操作文档的任意部分,是W3C的官方标准 [优点] ①允 ...
随机推荐
- jaxb解析xml工具类
[quote]jaxb jdk 自带的解析xml的一种方式支持,只需要用注解对javabean进行数据绑定[/quote] package com.nnk.flowrecharge.common;im ...
- POJ 1734 无向图最小环/有向图最小环
给定一张图,求图中一个至少包含三个点的环,环上的点不重复,并且环上的边的长度之和最小. 点数不超过100个 输出方案 无向图: /*Huyyt*/ #include<bits/stdc++.h& ...
- Java 实现《编译原理》简单词法分析功能 - 程序解析
Java 实现<编译原理>简单词法分析功能 - 程序解析 简易词法分析功能 要求及功能 (1)读取一个 txt 程序文件(最后的 # 作为结束标志,不可省去) { int a, b; a ...
- Spring Boot安全设计的配置
Web应用的安全管理,包括两个方面:一是用户身份认证,即用户登录的设计:另一方面是用户的授权,即一个用户在一个应用系统中能够执行哪些操作的权限管理.我这里使用spring-cloud-security ...
- string::find_first_not_of
string (1) size_t find_first_not_of (const string& str, size_t pos = 0) const noexcept; c-string ...
- 关于scanf一个变量的覆盖问题
假如你为了省空间,在scanf一个很长的字符串s后,又重复scanf 字符串s, 但是后面的s比前面的s短,那么在s后面一定有没覆盖的原字符串的字符: 那么在取字符串长度时会不会还是原来的s长度而不是 ...
- Python---函数2---王伟
#### 作用域 ```python#1.作用域:变量生效的区域#2.作用域的分类a.全局作用域(全局变量)- 全局作用域在程序执行时创建,在程序执行结束时销毁- 所有函数以外的区域都是全局作用域- ...
- jquery的checked
目前使用的jQuery版本为 v1.11.2 jquery判断checked的三种方法: .attr('checked'): //看版本1.6+返回:"checked"或&qu ...
- 获取URL值带参数跳转
//要跳转界面 api.openWin({ name: 'PayOrder', url: 'PayOrder.html?id=2', pageParam:{name:pr} }); //跳转后的界面 ...
- UVA 10900 So do you want to be a 2^n-aire?
#include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> ...