iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java8的stream如何取max
  • 457
分享到

java8的stream如何取max

java8的streamstream取maxjava8stream取max 2023-03-23 11:03:49 457人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录java8的stream取maxjava8 stream详解~聚合(max/min/count)「案例一:获取String集合中最长的元素。」「案例二:获取Integer集合中的

java8的stream取max

 public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
        Integer max = list.stream().max((a, b) -> {
            if (a > b) {
                return 1;
            } else return -1;
        }).get();

        System.out.println(max);
    }

注意点:这里判断大小是通过正负数和0值。 而不是直接写成

if (a > b) {
return a;
} else return b;

可以简化写法

int max = list.stream().max((a, b) -> a > b ? 1 : -1).get();

java8 stream详解~聚合(max/min/count)

maxmincount这些字眼你一定不陌生,没错,在Mysql中我们常用它们进行数据统计。

Java stream中也引入了这些概念和用法,极大地方便了我们对集合、数组的数据统计工作。

「案例一:获取String集合中最长的元素。」

public class StreamTest {
 public static void main(String[] args) {
  List<String> list = Arrays.asList("adnm", "admmt", "pot", "xbangd", "weoujgsd");
 
  Optional<String> max = list.stream().max(Comparator.comparing(String::length));
  System.out.println("最长的字符串:" + max.get());
 }
}

「案例二:获取Integer集合中的最大值。」

public class StreamTest {
 public static void main(String[] args) {
  List<Integer> list = Arrays.asList(7, 6, 9, 4, 11, 6);
 
  // 自然排序
  Optional<Integer> max = list.stream().max(Integer::compareTo);
  // 自定义排序
  Optional<Integer> max2 = list.stream().max(new Comparator<Integer>() {
   @Override
   public int compare(Integer o1, Integer o2) {
    return o1.compareTo(o2);
   }
  });
  System.out.println("自然排序的最大值:" + max.get());
  System.out.println("自定义排序的最大值:" + max2.get());
 }
}

「案例三:获取员工工资最高的人。」

public class StreamTest {
 public static void main(String[] args) {
  List<Person> personList = new ArrayList<Person>();
  personList.add(new Person("Tom", 8900, 23, "male", "New York"));
  personList.add(new Person("Jack", 7000, 25, "male", "Washington"));
  personList.add(new Person("Lily", 7800, 21, "female", "Washington"));
  personList.add(new Person("Anni", 8200, 24, "female", "New York"));
  personList.add(new Person("Owen", 9500, 25, "male", "New York"));
  personList.add(new Person("Alisa", 7900, 26, "female", "New York"));
 
  Optional<Person> max = personList.stream().max(Comparator.comparingInt(Person::getSalary));
  System.out.println("员工工资最大值:" + max.get().getSalary());
 }
}

「案例四:计算Integer集合中大于6的元素的个数。」

import java.util.Arrays;
import java.util.List;
 
public class StreamTest {
 public static void main(String[] args) {
  List<Integer> list = Arrays.asList(7, 6, 4, 8, 2, 11, 9);
 
  long count = list.stream().filter(x -> x > 6).count();
  System.out.println("list中大于6的元素个数:" + count);
 }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: java8的stream如何取max

本文链接: https://www.lsjlt.com/news/200993.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java8的stream如何取max
    目录java8的stream取maxjava8 stream详解~聚合(max/min/count)「案例一:获取String集合中最长的元素。」「案例二:获取Integer集合中的...
    99+
    2023-03-23
    java8的stream stream取max java8 stream取max
  • java8的stream怎么取max
    这篇文章主要讲解了“java8的stream怎么取max”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java8的stream怎么取max”吧!java8的stream取max p...
    99+
    2023-07-05
  • Java8中Stream API如何终止
    这篇文章主要为大家展示了“Java8中Stream API如何终止”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java8中Stream API如何终止”这篇文章吧。1.写在前面我们都知道Str...
    99+
    2023-06-25
  • 关于JAVA8的 Stream学习
    目录一、Stream的使用1 创建2 步骤二、Stream的特性三、中间操作1 filter()2 limit()3 skip()4 map()3.1 flatM...
    99+
    2024-04-02
  • Java8 Stream collect(Collectors.toMap())的使用
    目录Collectors.toMap的用法三个重载的方法Java8 stream特性 Collectors.toMapCollectors.toMap的用法 在我们实际开发过程中经常...
    99+
    2024-04-02
  • Java8中Stream的使用方式
    目录前言:1. 为什么有经验的老手更倾向于使用Stream2. Stream 的使用方式3. Stream 的创建4. Stream 中间操作5. Stream 终止操作6. Str...
    99+
    2024-04-02
  • Java8如何从一个Stream中过滤null值
    目录从一个Stream中过滤null值Solution(解决)stream方法过滤条件的使用下面以List为例从一个Stream中过滤null值 复习一个Stream 包含 null...
    99+
    2024-04-02
  • Java8中Stream的一些神操作
    Java8对集合提供了一种流式计算的方式,这种风格将要处理的元素集合看 作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如 筛选, 排序,聚合等。 Stream A...
    99+
    2024-04-02
  • Java8 Stream教程之collect()的技巧
    目录前言正文第一个小玩法 将集合通过Stream.collect() 转换成其他集合/数组:第二个小玩法 聚合(求和、最小、最大、平均值、分组)总结前言 本身我是一个比较偏向少使用S...
    99+
    2024-04-02
  • Java8中的Stream的原理是什么
    本篇内容主要讲解“Java8中的Stream的原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java8中的Stream的原理是什么”吧!Stream的组成与特点Stream(流)是一个...
    99+
    2023-06-15
  • Java8的Stream()与ParallelStream()的区别说明
    Java8 Stream()与ParallelStream()区别 Stream 无状态:指元素的处理不受之前元素的影响; 有状态:指该操作只有拿到所有元素之后才能继续下去。 非短...
    99+
    2024-04-02
  • Java8实战之Stream的延迟计算
    目录一、函数式编程1.1 示例一:方法中没有任何操作会修改现有结构1.2 实例二:“尾-递”迭代二、科里化三、函数式数据结构——持久化的四、Stream的延迟计算4.1 列表接口4....
    99+
    2024-04-02
  • Java8中Stream API的技巧有哪些
    本篇内容介绍了“Java8中Stream API的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! Stream简介Jav...
    99+
    2023-06-16
  • 详解java8中的Stream数据流
    Stream是java8引入的一个重度使用lambda表达式的API。Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象。直观意味着开发者在写代码时只需关注他们想要的结果是什么而无需关...
    99+
    2023-05-31
    java8 stream 数据流
  • Java8中Stream的特性有哪些
    这期内容当中小编将会给大家带来有关Java8中Stream的特性有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.初识stream先来一个总纲:东西就是这么多啦,stream是java8中加入的一个...
    99+
    2023-05-31
    java8 stream ava
  • Java8中的Stream 流实践操作
    目录1 前言2 Stream 的分类3 Stream 的操作3.1 创建流的方式3.2 流的中间操作3.3 流的终止操作总结1 前言 Stream 是 java8 中处理集合的抽象概...
    99+
    2024-04-02
  • Java8中Stream的使用方式是什么
    这篇文章主要介绍“Java8中Stream的使用方式是什么”,在日常操作中,相信很多人在Java8中Stream的使用方式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java8中Stream的使用方式...
    99+
    2023-06-30
  • JAVA8 Stream流中的reduce()方法详解
    目录reduce()简介reduce三个override的方法公共集合reduce()简介 Reduce 原意:减少,缩小根据指定的计算模型将Stream中的值计算得到一个...
    99+
    2023-02-28
    JAVA8 Stream reduce()方法 JAVA8 Stream reduce
  • java8 stream多字段排序的实现
    很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理 使用java8新特性,下面先来点基础的 List<类> list; ...
    99+
    2024-04-02
  • Java8 Stream流的常用方法汇总
    目录1、快速创建List(1)、new一个list,一个一个添加(2)、Stream流:创建动态list,可以添加元素(3)、如果创建一个固定长度的list,可以使用Arrays.a...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作