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);
}
}
标签:Comparator,Stream,System,中间,add,sorted,array,out 来源: https://www.cnblogs.com/lps1944900433/p/16125375.html