java8新特性-Stream(流)

简介

流(Stream)是 Java 8 引入的一种处理集合数据的抽象概念,它提供了一种更简洁、更灵活的方式来操作和处理集合数据。流可以看作是一系列元素的管道,可以对这些元素进行筛选、转换、排序、归约等操作,实现各种数据处理需求。与传统的循环迭代方式相比,流的代码更易读、更易于并行化处理,并且能够充分发挥多核处理器的优势。通过使用流,可以提高代码的可读性和可维护性,同时也能够更高效地处理大规模数据集合。

Stream的常用案例

1.steam将list集合转set集合

public static void main(String [] args){
		List<Student> students=Arrays.asList(new Student("小明",18),new Student("小黑",16),new Student("小红",17));
		//转成流并进行set集合转换
		Set<Student> sets=students.stream().collect(Collectors.toSet());
		//集合遍历
		sets.forEach(stu->System.out.println(stu.toString()));
		
	}

在上面的示例中,我们首先创建了一个 List 集合 list,包含了三个对象。然后使用 stream 方法将其转换为流,接着使用 collect 方法将流中的元素收集到一个 Set 集合中,使用 Collectors.toSet() 指定要收集到的集合类型。最终得到了一个包含唯一元素的 Set 集合。

注意:转成set集合需要重写实体类Student的equals 方法和 hashCode 方法。

2.steam将list集合转map集合

public static void main(String [] args){
		List<Student> students=Arrays.asList(new Student("小明",18),new Student("小黑",16),new Student("小红",17));
		//转成Stream
		Stream<Student> stream=students.stream();
		//转Map
		Map<String,Student> map=stream.collect(Collectors.toMap(student->student.getName(), student->student));
		//遍历
		map.forEach((key,value)->System.out.println(key+"--"+value));

	}

在上面的示例中,我们首先创建了一个包含学生对象的 List<Student&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蒾酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值