参考 https://www.cnblogs.com/franson-2016/p/5593080.html
package com.mytest.java8; import java.util.Arrays; import java.util.IntSummaryStatistics; import java.util.List; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.stream.Collectors; /** * @author zhangc * @since 2019/1/25 10:39 * java 双冒号 * 用法: 遍历, 匿名内部类 * java stream * filter 可以过滤内容 * limit 可以限制条数 * sort 可以帮助排序 * min,max 最大最小,类似比较 * map 可以指定处理如String转int ,或者指定要用的字段如Person::age * collect 收集信息,如把一个list 用逗号关联 * summaryStatistics 可以统计一组数字:最大最小平均总和等 **/ public class Colon { public static void main(String[] args) { List<String> a1 = Arrays.asList("a","b","c","d"); a1.forEach(x -> printValur(x)); Consumer<String> consumer = Colon::printValur; a1.forEach(x -> consumer.accept(x)); a1.forEach(System.out::println); new Thread(new Runnable() { @Override public void run() { System.out.println("run"); } }).start(); new Thread(()->{ System.out.println("run"); System.out.println("run1"); }).start(); // ()-> 相当于new+方法参数 和 方法实现 String[] pl = new String[]{"fds","fds","121","1211111","1233","dkk"}; //Arrays.sort(pl,(String x,String x1)->(x.compareTo(x1))); //Arrays.asList(pl).forEach(x-> System.out.println(x)); Arrays.sort(pl,Comparable::compareTo); Arrays.asList(pl).forEach(x-> System.out.println("张"+x)); Predicate<String> p1 = (p)->p.length()<5; Arrays.asList(pl).stream().filter(p1).limit(3).forEach(x-> System.out.println("filter"+x)); String[] p2 = new String[]{"fds","fds","121","1211111","1233","dkk"}; Arrays.asList(p2).stream().sorted(Comparable::compareTo).forEach(x->System.out.println("so"+x)); String dou = Arrays.asList(p2).stream().sorted(Comparable::compareTo).map(String::toString).collect(Collectors.joining(",")); System.out.println(dou); List<Integer> sta = Arrays.asList(1,2,3,4,5); IntSummaryStatistics ins = sta.stream().mapToInt((x)->x).summaryStatistics(); System.out.println(ins.getAverage() + ":" + ins.getCount() +":" + ins.getSum()+":"+ins.getMax()); } public static void printValur(String str) { System.out.println("print value : " + str); } }