示例代码如下:

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. string::data

    const char* data() const noexcept;注:同c_str #include <iostream>#include <string>#include ...

  2. tensorflow以文件形式运行程序实例

    在命令行中进入到代码所在文件夹 执行python mnist2.p或python aaa/mnist2.py这种形式

  3. C语言|博客作业12—学期总结

    一.我学到的内容 二.我的收获 (1)https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/7603 收获:第一次接触C语言和写博客,感觉特别 ...

  4. cookie的使用以及cookie的跨域名获取

    cookie存放容量4k左右,可设置过期时间. 1.cookie的封装使用 //设置cookies function setCookie(name, value) { var Days = 30; v ...

  5. SQL手工注入技巧

    MYSQL篇 1.内置函数和变量 @@datadir,version(),database(),user(),load_file(),outfile() 2.利用concat(),group_conc ...

  6. nginx在一个服务器上配置两个项目,并通过两个不同的域名访问

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强. 话不多说,先从最基 ...

  7. Session中的方法

    Session 管理一个数据库的任务单元,即管理数据库中的增删改查操作,提交事务. 方法CRUD:save(),delete(),load(),get(),update(),saveOrUpdate( ...

  8. git的安装教程

    团队开发的时候常要用到git来对代码进行管理,平时开发的时候也需要使用git来做一些事情,如给vue项目进行代码编译等等. 那下面我们开始 一.安装和配置环境 首先下载git安装包(去官网下载,htt ...

  9. [LibreOJ 3119]【CTS2019】随机立方体【计数】【容斥】

    Description Solution 记\(N=min(n,m,l)\) 首先考虑容斥,记\(f(i)\)为至少有i个位置是极大的,显然极大的位置数上界是N. 那么显然\(Ans=\sum\lim ...

  10. Unity3D_(插件)DOTween动画插件

    使用DOTween动画插件来实现物体的移动动画 Learn 一.DOTween插件对变量的动画 二.控制Cube和UI面板的动画 三.动画的快捷播放方式 四.动画的前放和后放 五.From Tween ...