中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java8的stream怎么取max

發布時間:2023-05-06 11:40:11 來源:億速云 閱讀:138 作者:zzz 欄目:開發技術

這篇文章主要講解了“java8的stream怎么取max”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“java8的stream怎么取max”吧!

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中也引入了這些概念和用法,極大地方便了我們對集合、數組的數據統計工作。

java8的stream怎么取max

「案例一:獲取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);
 }
}

感謝各位的閱讀,以上就是“java8的stream怎么取max”的內容了,經過本文的學習后,相信大家對java8的stream怎么取max這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

隆德县| 蒙山县| 三亚市| 五莲县| 夏邑县| 周宁县| 双鸭山市| 开化县| 定西市| 开平市| 肃宁县| 奇台县| 宁津县| 勐海县| 洛浦县| 平和县| 汝南县| 开江县| 澄城县| 侯马市| 安吉县| 洪江市| 惠东县| 灌阳县| 灵宝市| 郧西县| 达拉特旗| 平泉县| 湘西| 思南县| 和平县| 右玉县| 萨迦县| 马鞍山市| 娄烦县| 六盘水市| 济宁市| 凤台县| 宝鸡市| 博野县| 鹿邑县|