【Java8】Stream流对List进行输出的一些语句

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 numList = Arrays.asList(0,1,2,3,4,5,3324,23,0,32427);
        //降序排序
        List 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 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);
    }

}

 

你可能感兴趣的:(Java)