您的位置:

JDK8中的map遍历

JDK8是Java开发的一个整体升级版本,其中map遍历是其中一个比较常用的操作之一。本文将从多个方面对JDK8中的map遍历进行详细阐述,并提供相关代码示例。

一、 JDK8遍历集合

在JDK8之前,遍历map通常需要使用迭代器或者循环的方法,而在JDK8中,我们可以使用新的Lambda表达式实现遍历。

Map map = new HashMap<>();
map.put("name", "Alice");
map.put("age", 24);
map.put("gender", "female");

// 使用Lambda表达式遍历map
map.forEach((key, value) -> {
    System.out.println(key + "=" + value);
});

  

通过这个代码示例,我们可以看到使用Lambda表达式遍历map的方式,简单又方便。

二、 JDK8遍历list

遍历list同样可以使用Lambda表达式来实现,下面是相关示例代码:

List list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");

// 使用Lambda表达式遍历list
list.forEach(item -> {
    System.out.println(item);
});

  

上述代码将list中的元素一个一个输出,使用Lambda表达式遍历list,整个遍历过程十分简便快捷。

三、 JDK8遍历数组

JDK8也对数组做出了改进,使其支持使用Lambda表达式来遍历并输出数组中的元素,下面是示例代码:

int[] arr = new int[]{1, 2, 3, 4, 5};

// 使用Lambda表达式遍历数组
Arrays.stream(arr).forEach(item -> {
    System.out.println(item);
});

使用Lambda表达式遍历数组,代码更简洁,读者可以对比体验一下。

四、 JDK8遍历枚举

在JDK8中,我们可以使用Lambda表达式遍历枚举类型,下面是相关示例代码:

enum Color {
    Red, Green, Blue;
}

// 使用Lambda表达式遍历枚举
Arrays.stream(Color.values()).forEach(color -> {
    System.out.println(color);
});

上述代码将会对枚举类型Color进行遍历,输出其中的所有元素。

五、 JDK8遍历list查找相关对象

JDK8中的集合遍历还有一个很有用的功能,就是可以用来查找集合中的相关对象,下面的示例代码将说明如何查找某一个元素:

List personList = new ArrayList<>();
personList.add(new Person("Tom", 24));
personList.add(new Person("Alice", 25));
personList.add(new Person("Bob", 23));

// 查找名为Tom的人
Optional
    person = personList.stream()
        .filter(p -> p.getName().equals("Tom"))
        .findFirst();

// 输出信息
person.ifPresent(p -> System.out.println("Name:" + p.getName() + ", Age:" + p.getAge()));

   
  

上述代码将通过Lambda表达式实现查找personList中名为Tom的对象,简单直接,让我们尝试对这段代码进行一下优化:

Person person = personList.stream()
        .filter(p -> p.getName().equals("Tom"))
        .findFirst()
        .orElse(null);

if (person != null) {
    System.out.println("Name:" + person.getName() + ", Age:" + person.getAge());
}

这段改进后的代码并不仅仅是简洁,同时也让代码更加易读易懂。

总结

以上便是本文对JDK8中map遍历的详细阐述,希望这篇文章能够对读者有所帮助。