它的出现让集合处理起来更简洁!
stream 有如下方法:
1.2 distinct 对数据进行去重
List<Integer> evens = new ArrayList<>();
for (final Integer num : nums) {
if (num % 2 == 0) {
evens.add(num);
}
}
用stream处理的话非常简介:
List<Integer> evens = nums.stream().filter(num -> num % 2 == 0).collect(Collectors.toList());
stream 有如下方法:
1、过滤
1.1 filter 让符合条件的通过,不符合的过滤掉
例如:
学校是“武汉大学”的学生筛选出来,最后保存到List中
List<Student> whuStudents = students.stream()
.filter(student -> "武汉大学".equals(student.getSchool()))
.collect(Collectors.toList());
1.2 distinct 对数据进行去重
例如:
筛选出所有不重复的偶数
List<Integer> evens = nums.stream()
.filter(num -> num % 2 == 0).distinct()
.collect(Collectors.toList());
1.3 limit 限制数据出现的条数 limit返回包含前n个元素的流,当集合大小小于n时,则返回实际长度
例如:
筛选出现两个是“土木工程”专业的学生
List<Student> civilStudents = students.stream()
.filter(student -> "土木工程".equals(student.getMajor())).limit(2)
.collect(Collectors.toList());
1.4 skip 与limit操作相反 跳过前n个元素
例如:
跳过前两个,从第三个开始
List<Student> civilStudents = students.stream()
.filter(student -> "土木工程".equals(student.getMajor()))
.skip(2)
.collect(Collectors.toList());
先更新到这,有时间再写。