使用Lambda表达式遍历List

一、Lambda表达式的简介

Lambda表达式是Java SE 8中一个重要的新特性。它是一个匿名函数,它可以传递给方法作为参数,并可以像对象一样进行存储。Lambda表达式可以在不使用类或者接口的情况下创建函数。

它的一般形式为:

(parameters) -> expression
或
(parameters) -> { statements; }

这里,parameters 是 Lambda 表达式的参数列表,这里我们可以直接指定参数类型或使用类型推断来省略参数类型。-> 是 Lambda 表达式的语法结构。而 expression 或 statements 则是 Lambda 表达式的函数体。

二、使用Lambda表达式遍历List

在Java中,遍历一个List一般需要使用迭代器或增强for循环。使用Lambda表达式可以使得代码更简洁易懂。

List list = Arrays.asList("a", "b", "c", "d");
list.forEach((String s) -> System.out.println(s));

上面的代码中,我们使用 forEach 方法和 Lambda 表达式遍历了一个字符串类型的 List。这里,Lambda 表达式被用作 Consumer 函数式接口的一个实例,它接收一个字符串参数,然后打印该字符串。

当然,由于Java SE 8引入了类型推断特性,我们可以省略参数类型:

List list = Arrays.asList("a", "b", "c", "d");
list.forEach(s -> System.out.println(s));

三、Lambda表达式遍历List的其他应用

1、遍历一个对象类型的List

假设我们有一个 Person 类型的 List:

class Person {
    String name;
    int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

List persons = Arrays.asList(
        new Person("Tom", 20),
        new Person("Mike", 30),
        new Person("Jack", 25)
);

persons.forEach(person -> System.out.println(person.getName() + " " + person.getAge()));

2、List中元素的筛选

我们可以使用 Lambda 表达式结合 Stream API 对 List 中的元素进行筛选、过滤等操作。比如,我们可以过滤出年龄大于等于 25 的 Person:

persons.stream().filter(person -> person.getAge() >= 25).forEach(person -> System.out.println(person.getName() + " " + person.getAge()));

上面的代码中,我们使用了 Stream API 的 filter 方法对 persons List 进行过滤,只保留年龄大于等于 25 的 Person。

3、对List中的元素进行映射

我们可以使用 map 方法将 List 中的每个元素映射为另外一种类型的元素。比如,我们可以创建一个 List,其中每个元素为 Person 的姓名:

List names = persons.stream().map(Person::getName).collect(Collectors.toList());

上面的代码中,我们使用 map 方法将 Person 中的 name 属性映射为 String 类型,并使用 collect 方法将结果收集到一个新的 List 中。

4、对List中的元素进行排序

我们可以使用 sorted 方法对 List 中的元素进行排序,比如按照年龄从小到大排序:

List sortedPersons = persons.stream().sorted(Comparator.comparingInt(Person::getAge)).collect(Collectors.toList());

上面的代码中,我们使用了 sorted 方法和 Comparator 对 List 中的元素进行排序,以年龄为比较依据。

四、总结

Lambda表达式是Java SE 8中一个非常重要的新特性,它的简洁性和灵活性为Java程序员带来了极大的便利。

使用Lambda表达式遍历List可以使得代码更加简洁易懂,同时,结合 Stream API 可以对 List 中的元素进行筛选、过滤、映射和排序等操作。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/276093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-17 19:38
下一篇 2024-12-17 19:38

相关推荐

  • Tensor to List的使用

    Tensor to List是TensorFlow框架提供的一个非常有用的函数,在很多的深度学习模型中都会用到。它的主要功能是将TensorFlow中的张量(Tensor)转换为P…

    编程 2025-04-29
  • Python遍历集合中的元素

    本文将从多个方面详细阐述Python遍历集合中的元素方法。 一、for循环遍历集合 Python中,使用for循环可以遍历集合中的每个元素,代码如下: my_set = {1, 2…

    编程 2025-04-29
  • Python如何遍历字典中的key和value

    本文将详细讲解Python中如何遍历字典中的key和value,包括多种遍历方式以及在遍历过程中的一些应用场景。 一、遍历字典中的key和value 在Python中,字典是一种无…

    编程 2025-04-29
  • 如何使用Python将输出值赋值给List

    对标题进行精确、简明的解答:本文将从多个方面详细介绍Python如何将输出的值赋值给List。我们将分步骤进行探讨,以便读者更好地理解。 一、变量类型 在介绍如何将输出的值赋值给L…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • 二叉树非递归先序遍历c语言

    本文将为您详细介绍二叉树的非递归先序遍历算法,同时提供完整的C语言代码示例。通过本文,您将了解到二叉树的先序遍历算法,以及非递归实现的方式。 一、二叉树的先序遍历算法介绍 在介绍二…

    编程 2025-04-28
  • Python List查找用法介绍

    在Python中,list是最常用的数据结构之一。在很多场景中,我们需要对list进行查找、筛选等操作。本文将从多个方面对Python List的查找方法进行详细的阐述,包括基本查…

    编程 2025-04-28
  • Python如何遍历列表

    在Python编程中,列表是一种常用的数据类型,它允许我们存储多个值。但是,我们如何遍历列表并对其中的每个值进行操作呢? 一、for循环遍历列表 fruits = [‘apple’…

    编程 2025-04-28
  • Python遍历字典删除元素

    本文主要介绍Python中如何遍历字典并删除元素。在实际应用中,遍历字典并删除元素是一种非常常见的操作,但需要注意的是,直接在字典中删除元素可能会改变字典中其他元素的索引顺序,因此…

    编程 2025-04-28
  • Python DataFrame转List用法介绍

    Python中常用的数据结构之一为DataFrame,但有时需要针对特定需求将DataFrame转为List。本文从多个方面针对Python DataFrame转List详细介绍。…

    编程 2025-04-27

发表回复

登录后才能评论