jdk1.8对集合的新操作

1.生成一个list

List li = Arrays.asList("a","b");参数为一个可变参数

2.对集合本身进行操作,并生成一个新的list集合

List str = li.steam().map(x->{x+x}).collect(Collectors.toList());

3.对集合进行过滤  返回false代表抛弃该元素返回true反之

List str = li.steam().filter(x->{return true/flase}).collect(Collectors.toList());

4.对集合进行分组,以字符串的长度进行分组,并生成一个map

Map> col = li.stream().collect(Collectors.groupingBy(String::length));

5.集合的遍历forEach操作

list.forEach(x->{sout(x)});

6.max和min函数 用来取集合中的最大值最小值

Optional max = list.stream().max((x,y)->{

    return x.compareTo(y)';

})

System.out.println(max.orElse(null));//如果该集合为空就会输出为null;使用该方法可以避免空指针异常。

7.集合的合并

List l1 = Arrays.asList("1","2","3","4","5","6");

List l2 = Arrays.asList("1a","2a","3a","4a","5a","6a");

Stream.concat(l1.steam(),l2.steam());  返回一个steam可以用数据收集器将数据收集起来。

8.平行流,就是把集合的多个元素开多线程去处理




你可能感兴趣的:(java)