Java 8 forEach简单例子

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 : " + entry.getKey() + " Count : " + entry.getValue());
}

1.2 在java8中你可以使用  foreach  + 拉姆达表达式遍历

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);
    if("E".equals(k)){
        System.out.println("Hello E");
    }
});

2. forEach and List

2.1通常这样遍历一个List.

List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");

for(String item : items){
    System.out.println(item);
}

2.2在java8中你可以使用   foreach + 拉姆达表达式 或者 method reference(方法引用)

List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");

//lambda
//Output : A,B,C,D,E
items.forEach(item->System.out.println(item));

//Output : C
items.forEach(item->{
    if("C".equals(item)){
        System.out.println(item);
    }
});

//method reference
//Output : A,B,C,D,E
items.forEach(System.out::println);

//Stream and filter
//Output : B
items.stream()
    .filter(s->s.contains("B"))
    .forEach(System.out::println);

参考文档:

  1. Java 8 Iterable forEach JavaDoc
  2. Java 8 forEach JavaDoc

原文地址:https://www.cnblogs.com/hangshizhi/p/8439411.html

时间: 2024-10-14 15:52:53

Java 8 forEach简单例子的相关文章

Java 8 forEach简单例子(转载)

forEach and 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("

java任务调度Timer简单例子

1.创建类TimerTest import java.util.Timer; import java.util.TimerTask; public class TimerTest { private final Timer timer = new Timer(); public void start() { timer.schedule(new TimerTask() { public void run() { System.out.println("定时任务"); } }, 0, 2

java 线程池简单例子

package com.hra.riskprice; import com.hra.riskprice.SysEnum.Factor_Type; import com.hra.riskprice.pojo.RskFactor; import com.hra.riskprice.service.impl.RskFactorBulkMapper; import org.springframework.boot.SpringApplication; import org.springframework

Java面向对象超简单例子——三维坐标

Point类,具有改变x,y,z坐标,计算该点到原点距离,计算该点到其他点的距离的方法.(全是int型) public class Point { private int x; private int y; private int z; public Point(int _x,int _y,int _z) { x = _x; y = _y; z = _z; } public void setx(int _x) { x = _x; } public void sety(int _y) { y =

java 使用 comet4j 主动向客户端推送信息 简单例子

[背景] 今天,一个前端的师弟问我怎样做实时聊天窗口,我毫不犹豫地说:在前台定时访问服务端呀!师弟默默地百度了一番,最后告诉我,有一种技术是后服务端动推送信息给客户端的,这种技术的名字叫comet,我惊呆了,因为完全没听过,赶紧上网搜集资料,耗了一个晚上写了个简单的例子,实现主动向客户端发送信息.说是说主动,其实还是要客户端先献出它的“第一次”,即只要它有先请求你一下,以后你们熟了,你想主动约它就约它! 关于comet技术介绍及其实现原理,可以参考网站 http://www.ibm.com/de

Excel导出学习之道:Java Web利用POI导出Excel简单例子

采用Spring mvc架构: Controller层代码如下 [java] view plaincopy @Controller public class StudentExportController{ @Autowired private StudentExportService studentExportService; @RequestMapping(value = "/excel/export") public void exportExcel(HttpServletReq

java memcached 简单例子 使用spymemcached客户端

只是一个简单的例子,没有太多需要解释的. 需要注意的是,如果存对象的话,对象需要实现序列化的接口. 引用了一个jar:spymemcached-2.10.3.jar 直接上代码: 1 package memTest; 2 3 import net.spy.memcached.MemcachedClient; 4 5 6 import java.io.IOException; 7 import java.io.Serializable; 8 import java.net.InetSocketAd

Java中死锁的简单例子及其避免

死锁:当一个线程永远地持有一个锁,并且其他线程都尝试获得这个锁时,那么它们将永远被阻塞.比如,线程1已经持有了A锁并想要获得B锁的同时,线程2持有B锁并尝试获取A锁,那么这两个线程将永远地等待下去. 我们来看一个死锁的简单例子: 1 public class DeadLockTest 2 { 3 private static Object A = new Object(), B = new Object(); 4 5 public static void main(String[] args)

java socket编程开发简单例子

1.以下只是简单例子,没有用多线程处理,只能一发一收(由于scan.nextLine()线程会进入等待状态),使用时可以根据具体项目功能进行优化处理 2.以下代码使用了1.8新特性,如果要测试以下代码,java版本不能低于1.8 // 客户端 public static void main(String[] args) { try (Scanner scan = new Scanner(System.in); Socket client = new Socket("127.0.0.1"