package Java8Test;
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
/**
* @Classname StreamTest
* @Description TODO
* @Date 19-7-5 ä¸å11:00
* @Created by mao
*/
public class StreamTest {
public static void main(String[] args){
List strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
List numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
List integers = Arrays.asList(1,2,13,4,15,6,17,8,19);
Random random = new Random();
System.out.println("ä½¿ç¨ Java 8: ");
System.out.println("å表: " +strings);
long count = strings.stream().filter(string->string.isEmpty()).count();
System.out.println("空å符串æ°é为: " + count);
count = strings.stream().filter(string -> string.length() == 3).count();
System.out.println("å符串é¿åº¦ä¸º 3 çæ°é为: " + count);
List filtered = strings.stream().filter(string ->!string.isEmpty()).collect(Collectors.toList());
System.out.println("çéåçå表: " + filtered);
String mergedString = strings.stream().filter(string ->!string.isEmpty()).collect(Collectors.joining(", "));
System.out.println("åå¹¶å符串: " + mergedString);
List squaresList = numbers.stream().map( i ->i*i).distinct().sorted().collect(Collectors.toList());
System.out.println("å¹³æ¹åå¹¶æåºçå表: " + squaresList);
System.out.println("å表: " +integers);
IntSummaryStatistics stats = integers.stream().mapToInt((x) ->x).summaryStatistics();
System.out.println("åè¡¨ä¸æå¤§çæ° : " + stats.getMax());
System.out.println("åè¡¨ä¸æå°çæ° : " + stats.getMin());
System.out.println("æææ°ä¹å : " + stats.getSum());
System.out.println("平忰 : " + stats.getAverage());
System.out.println("éæºæ°: ");
random.ints().limit(10).sorted().forEach(System.out::println);
// å¹¶è¡å¤ç
count = strings.parallelStream().filter(string -> string.isEmpty()).count();
System.out.println("空åç¬¦ä¸²çæ°é为: " + count);
}
}