标签:Stream stream list Test import public
Stream常用方法
Stream流的创建
package com.stream; import org.junit.Test; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.stream.IntStream; import java.util.stream.Stream; /** * Stream流的五种创建方式 */ public class StreamGenerator { //1.基于数组进行创建 @Test public void generator1(){ String[] arr = {"Lily","Andy","Jacjson","Smith"}; Stream<String> stream = Stream.of(arr); stream.forEach(s-> System.out.println(s)); } //2.基于集合进行创建 @Test public void generator2(){ List<String> list = new ArrayList<>(); list.add("Lily"); list.add("Andy"); list.add("Jacjson"); list.add("Smith"); Stream<String> stream = list.stream(); stream.forEach(s-> System.out.println(s)); } //3.利用generate方法创建无限长度流 @Test public void generator3(){ //()表示不需要参数 Stream<Integer> stream = Stream.generate(() -> new Random().nextInt(100000)); stream.limit(10).forEach(i-> System.out.println(i)); } //4.基于迭代器创建流 @Test public void generator4(){ //Stream.iterate两个参数分别是起始值、步长 Stream<Integer> stream = Stream.iterate(1, n -> n + 1); stream.limit(100).forEach(i-> System.out.println(i)); } //5.基于字符序列创建流 @Test public void generator5(){ String str="abcdefg我的"; IntStream stream = str.chars(); stream.forEach(c-> System.out.print((char) c+" ")); } }
Stream常用方法
package com.stream; import org.junit.Test; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class StreamMethod { //提取集合中的所有偶数求和 @Test public void case1(){ List<String> list = Arrays.asList("1", "2", "3", "4", "5","6"); int sum = list.stream() .mapToInt(s -> Integer.parseInt(s)) //mapToInt将流中的每一个数据转换成Int .filter(n -> n % 2 == 0) .sum(); System.out.println(sum); } //所有名字首字母大写 @Test public void case2(){ List<String> list=Arrays.asList("lily","tom","jackson"); List<String> newList = list.stream() //按规则对每一个数据进行转换 .map(s -> s.substring(0, 1).toUpperCase() + s.substring(1)) //collect对流数据进行收集,生成新的List/Set .collect(Collectors.toList()); System.out.println(newList); } @Test //将所有奇数从大到小进行排序,且不允许出现重复 public void case3(){ List<Integer> list = Arrays.asList(1,60,38,51,60,51,73); List<Integer> newList = list.stream().distinct()//可去除重复的流数据 .filter(n -> n % 2 == 1) .sorted((a, b) -> b - a) //排序 .collect(Collectors.toList()); System.out.println(newList); } }
标签:Stream,stream,list,Test,import,public 来源: https://www.cnblogs.com/nanfeng66/p/16201009.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。