把一个包装类型数组String[]、Integer[]等转化成int[]等基本类型数组,是在太不想用for循环就用Java8的stream吧
public class ToStreamIntString{
Scanner in = new Scanner(System.in);
List list = new ArrayList<>();
for (int i = 0; i < 3; i++) {
list.add(in.nextLine());
}
String n = list.get(0);
System.out.println(“ —> String ”+n);
String[] xs = list.get(1).split(“\s+”);
String[] ys = list.get(2).split(“\s+”);
System.out.println(“ —> String[] to int[]”);// 需要输入纯数字
int[] x = Arrays.stream(xs).mapToInt(Integer::valueOf).toArray();
Arrays.stream(x).forEach( (i)-> System.out.print(i+10+“ ”) );
System.out.println(“
—> String[] to List, List to Stream”);
List y = Arrays.asList(ys);
y.stream().forEach((i)-> System.out.print(i+“ ”));
}

测试结果:

Java8的Stream可以用多种方式获取,其中对集合类来说就可以直接使用stream()方法,查看源码可以知道Collection接口新增了default方法Stream stream()。
public interface Collection extends Iterable {
/*
@since 1.8
*/
default Stream stream() {
return StreamSupport.stream(spliterator(), false);
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181939.html