示例代码如下:

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. zabbix的nginx监控+邮件报警

    nginx监控    下载nginx的监控模板

  2. Codeforces 708D 上下界费用流

    给你一个网络流的图 图中可能会有流量不平衡和流量>容量的情况存在 每调整一单位的流量/容量 需要一个单位的花费 问最少需要多少花费使得原图调整为正确(可行)的网络流 设当前边信息为(u,v,f, ...

  3. java字符串函数用法汇总

    替换字符串中的字符 例如有如下x的字符串 String x = "[kllkklk\kk\kllkk]"; 要将里面的"kk"替换为++,可以使用两种方法得到相 ...

  4. spring data mongo API learn(转)

    显示操作mongo的语句,log4j里面加入: log4j.logger.org.springframework.data.mongodb.core=DEBUG, mongodb log4j.appe ...

  5. springmvc手动渲染jsp

    因为需要MockHttpServletResponse对象来得到输出的内容,要引入的包 <dependency> <groupId>org.springframework< ...

  6. [人物存档]【AI少女】【捏脸数据】现代风格

    点击下载:6543d037acaf2edd03b4679f821001e9380193ce.png

  7. zTree 节点展开

    var treeObj = $("#treeDemo"); $.fn.zTree.init(treeObj, setting, Znode1); zTree_Menu = $.fn ...

  8. springfox-swagger

    swagger简介 swagger确实是个好东西,可以跟据业务代码自动生成相关的api接口文档,尤其用于restful风格中的项目,开发人员几乎可以不用专门去维护rest api,这个框架可以自动为你 ...

  9. head first 设计模式笔记7-适配器模式与外观模式

    适配器模式:将一个类的接口,转换成客户期望的另一个接口.适配器让原本接口不兼容的类可以合作无间. 这个模式可以通过创建适配器进行接口转换,让不兼容的接口变成兼容.这可以让客户从实现的接口解耦.如果在一 ...

  10. 51nod-1640--天气晴朗的魔法(简单最小生成树)

    1640 天气晴朗的魔法 题目来源: 原创 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 这样阴沉的天气持续下去,我们不免担心起他的健康. 51nod魔法学校近日 ...