java8流式操作之映射和拍排序

本文深入探讨了Java Stream API中的map和flatMap方法,通过实例展示了如何使用这些方法进行数据转换和处理,同时介绍了排序操作,包括自然排序和定制排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

映射分为 map和 flaterMap两个
map: 接口一个lambda,将元素转换成其他心事或提取信息,即接收一个函数座位参数,该函数会被应用到每个元素上,冰将其映射成一个新的元素

flaterMap-- 接收一个函数作为参数,将流中的每个值都换成流另外一个流,然后把所有的流都连城一个流。

@Test
	public void testMap(){
		//将数据转换成大写
		List<String> list = Arrays.asList("aaa","bbb","fff","eee","ddd","ccc");
		list.stream().map((str) -> str.toUpperCase()).forEach(System.out::println);
	}
	@Test
	public void testFlaterMap(){
		//获取集合中的每个字母
		List<String> list = Arrays.asList("aaa","bbb","fff","eee","ddd","ccc");
//		Stream<Stream<Character>> stream = list.stream().map(StreamTest2::getChar);
//		stream.forEach((sm) ->{ sm.forEach(System.out::println);});
		
//		list.stream()
//			.map(StreamTest2::getChar)
//			.forEach((sm) ->{ sm.forEach(System.out::println);});
		
		list.stream()
			.flatMap(StreamTest2::getChar)
			.forEach(System.out::println);
		
	}
	
	public static  Stream<Character> getChar(String str){
		List<Character> list = new ArrayList<>();
		for(int i= 0 ; i <str.length() ; i++){
			list.add(str.charAt(i));
		}
		return list.stream();
	}

2)排序

/**
	 * 排序
	 * sorted() -- 自然排序,是指使用实现了 Comparable接口中  compareTo方法的排序
	 * sorted(Comparator<? super T> comparator) 定制排序
	 */
    @Test
    	public void testSorted(){
    		List<String> list = Arrays.asList("aaa","bbb","fff","eee","ddd","ccc");
    		list.stream()
    			.sorted()
    			.forEach(System.out::println);
    		
    		
    		emps.stream()
    			.sorted((e1,e2) ->{
    				if(e1.getAge()==e2.getAge()){
    					return e1.getName().compareTo(e2.getName());
    				} else {
    					return Integer.compare(e1.getAge(),e2.getAge());
    				}
    			})
    			.forEach(System.out::println);;
    	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值