import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.function.Predicate;
import java.util.stream.Collectors;
//jdk1.8 之前接口中不能实现方法。
//jdk1.8 之后加入了default关键字,可以在接口中实现方法
interface myFliter{
boolean check(int a);
}
public class MYTEST {
public static void main(String args[]){
List<Integer> numList = Arrays.asList(0,1,2,3,4,5,3324,23,0,32427);
//降序排序
List<Integer> filtered = numList.stream().filter(num -> !num.equals(0)).sorted((num1,num2) -> num2.compareTo(num1)).collect(Collectors.toList());
filtered.forEach(System.out::println);
System.out.println("==============================并行流parallelStreams输出======================");
//数据并不是按顺序输出的,证明该操作是并行的
filtered.parallelStream().forEach(num-> System.out.println(Thread.currentThread().getName()+">>"+num));
// 获取对应的平方数,且去重
List<Integer> squaresList = numList.stream().map(i -> i*i).distinct().collect(Collectors.toList());
squaresList.forEach(System.out::println);
//合并字符串
String mergeList = squaresList.stream().map(String::valueOf).collect(Collectors.joining(", "));
System.out.println(mergeList);
//指定输出的条数
squaresList.stream().limit(2).forEach(System.out::println);
Random random = new Random();
random.ints().limit(10).forEach(System.out::println);
}
}