/**
* Arrays.asList将数组转化成List集合的方法,适合用来遍历
* 如果使用list来添加或删除元素,还是new一个java.util.ArrayList
*/
public static void testJdk8(){
// List<Integer> list=new ArrayList<>();
// list.add(1);
// list.add(3);
// list.add(8);
// list.add(6);
List<Integer> list=Arrays.asList(1,8,2,3,6,7);
Stream<Integer> int123=list.stream().sorted().filter(num->num>2);
list.stream().sorted().filter(num->num>2).forEach(System.out::println);
}
public static void TestStream(){
/**
* 流的创建方式之一 1)列集合提供的stream()或者paralleStream()
*/
List<String> list=new ArrayList<>();
list.add("张三丰");
list.add("张无忌");
list.add("赵敏");
list.stream()
.filter(str->str.startsWith("张"))
.filter(str->str.length()>2)
.forEach(str-> System.out.println(str));
}
public static void testStreamReduce(){
/**
* reduce:规约操作
*/
List<Integer> list= Arrays.asList(1,2,3,4,5,6,7,8,9,10);
Integer count=list.stream().reduce(0,(x,y)->(x+y));
System.out.println(count);
}
public static void testFlatmap(){ List<String> words= Arrays.asList("Hello world"); /** * collect操作:Collect-将流转换为其他形式,接收一个Collection接口的实现,用于给Stream中元素做汇总的方法 */ // String[] words = new String[]{"Hello","World"}; // List<String> a = Arrays.stream(words) words.stream() .map(word -> word.split("")) .flatMap(Arrays::stream) .distinct() .collect(toList()); words.forEach(System.out::print); }