示例代码如下:

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 表达式遍历)的更多相关文章

  1. Java Array数组 遍历 四种方式(包含 Lambda 表达式遍历)

    示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...

  2. Java Map集合 遍历 五种方式(包含 Lambda 表达式遍历)

    示例代码如下: package com.miracle.luna.lambda; import java.util.HashMap; import java.util.Iterator; import ...

  3. JAVA解析XML的四种方式

    java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...

  4. Java创建线程的四种方式

    Java创建线程的四种方式 1.继承Thread类创建线程 定义Thread类的子类,并重写该类的run方法,run()方法的内容就是该线程执行的内容 创建Thread子类的实例,即创建了线程对象. ...

  5. java 20 -10 字节流四种方式复制mp3文件,测试效率

    电脑太渣,好慢..反正速率是: 高效字节流一次读写一个字节数组 > 基本字节流一次读写一个字节数组 > 高效字节流一次读写一个字节 > 基本字节流一次读写一个字节 前两个远远快过后面 ...

  6. java线程实现的四种方式

    java多线程的实现可以通过以下四种方式 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法 3.通过Callable和FutureTask创建线程 4.通过线程池创 ...

  7. Java添加事件的四种方式

    Java添加事件的几种方式(转载了codebrother的文章,做了稍微的改动) /** * Java事件监听处理——自身类实现ActionListener接口,作为事件监听器 * * @author ...

  8. java解析xml文件四种方式

    1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找 ...

  9. JAVA解析xml的四种方式比较

    1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取 和操作文档的任意部分,是W3C的官方标准 [优点] ①允 ...

随机推荐

  1. MySQL字段值按照拼音首字母排序

    最简单.快速的方法: 将需要进行排序的字段编码设置为GBK,然后在查询时直接使用asc/desc就可以啦

  2. Iterator、Generator、Decorator、Descriptor

    Python中的迭代器.生成器.装饰器.描述符. 可迭代对象(iterable)但凡是可以返回一个迭代器的对象都可成为可迭代对象可迭代对象实现了__iter__方法,该方法返回一个迭代器对象迭代器(i ...

  3. idea 注册码 2月

    https://blog.csdn.net/zhw0596/article/details/81394870 不显示.java后缀 https://segmentfault.com/q/1010000 ...

  4. java读取word文档,提取标题和内容

    使用的工具为poi,需要导入的依赖如下 <dependency> <groupId>org.apache.poi</groupId> <artifactId& ...

  5. 网络编程简介(OSI七层协议,TCP协议原理,三次握手与四次挥手)

    目录 网络编程 软件开发架构 C/S架构 B/S架构 网络编程的发展史 互联网协议 1.物理连接层 2.数据链路层 3.网络层 4.传输层 5.应用层 三次握手四次挥手 三次握手建链接 数据传输 四次 ...

  6. JS实现 Tab栏切换案例

    要求:当鼠标点击上面相应的选项卡(tab),下面页面的内容也随之而改变. 结构分析: 全部的内容都放到一个大的盒子里面,盒子里面又可以分为上面和下面两个盒子. 上面的盒子放了 5个li,装着5个小的选 ...

  7. C# 4.0

    序言 动态绑定-dynamic class Program { static void Main(string[] args) { ; ; // Rest the mouse pointer over ...

  8. javascript中的原型和原型链(四)

    new运算符工作原理

  9. Vue-CLI项目搭建

    一.环境搭建 1.安装服务器node 官网下载 https://nodejs.org/zh-cn/ node:用C++语言编写,用来运行JavaScript语言 node可以为前端项目提供server ...

  10. [LOJ3046][ZJOI2019]语言:树链的并+线段树合并

    分析 问题显然可以转化为对于每个节点询问所有这个节点的所有链的链并的大小. 考场上我直接通过树剖打标记+树剖线段树维护以\(O(n \log^3 n)\)的时间复杂度暴力实现了这个过程.(使用LCT或 ...