1. 程式人生 > 其它 >Stream流中間操作之sorted

Stream流中間操作之sorted

package LambdaTest.LambdaTest06;

import java.util.ArrayList;
import java.util.Comparator;

/**
* FileName: StreamDemo05
* Author: lps
* Date: 2022/4/10 12:09
* Sign:劉品水 Q:1944900433
* <p>
* Stream<T> sorted()
* 返回由該流的元素組成的流,按自然順序排序。
* Stream<T> sorted(Comparator<? super T> comparator)
* 返回一個包含該流的元素流,根據提供的 Comparator排序。
*/
public class StreamDemo05 {
public static void main(String[] args) {
ArrayList<String> array = new ArrayList<>();
array.add("lps");
array.add("la");
array.add("lpb");
array.add("abc");
array.add("abcde");
array.add("oabe");
array.add("a");
//按照字母順序把資料再控制檯輸出
//array.stream().sorted().forEach(System.out::println);
//按照字串長度順序把資料再控制檯輸出
array.stream().sorted().sorted(Comparator.comparingInt(String::length)).forEach(System.out::println);
System.out.println("========");
array.stream().sorted((s1,s2)->{
int num=s1.length()-s2.length();
int num1=num==0?s1.compareTo(s2):num;
return num1;
}).forEach(System.out::println);
}
}