首页 > Java > 将 Java 8 转换为数组的最简单/最短的方法是什么?Stream

将 Java 8 转换为数组的最简单/最短的方法是什么?Stream

上一篇 下一篇

将 Java 8 转换为数组的最简单/最短的方法是什么?Stream

分割线

网友回答:

如果你想从 中获取一个值从 1 到 10 的整数数组,您可以使用。Stream<Integer>IntStream

在这里,我们创建一个 with 方法并将 a 转换为使用 .然后我们可以调用 的方法。StreamStream.ofStream<Integer>IntStreammapToIntIntStreamtoArray

Stream<Integer> stream = Stream.of(1,2,3,4,5,6,7,8,9,10);
//or use this to create our stream 
//Stream<Integer> stream = IntStream.rangeClosed(1, 10).boxed();
int[] array =  stream.mapToInt(x -> x).toArray();

这是同样的事情,没有 ,只使用 :Stream<Integer>IntStream

int[]array2 =  IntStream.rangeClosed(1, 10).toArray();

分割线

网友回答:

最简单的方法是将该方法与数组构造函数引用一起使用。该方法的 API 文档中建议这样做。toArray(IntFunction<A[]> generator)

String[] stringArray = stringStream.toArray(String[]::new);

它所做的是找到一个接受整数(大小)作为参数的方法,并返回一个 ,这正是(重载之一)所做的。String[]new String[]

你也可以写你自己的:IntFunction

Stream<String> stringStream = ...;
String[] stringArray = stringStream.toArray(size -> new String[size]);

其目的是将整数(数组的大小)转换为新数组。IntFunction<A[]> generator

示例代码:

Stream<String> stringStream = Stream.of("a", "b", "c");
String[] stringArray = stringStream.toArray(size -> new String[size]);
Arrays.stream(stringArray).forEach(System.out::println);

指纹:

a
b
c

分割线

网友回答:

您可以使用以下简单的代码块将 java 8 流转换为数组:

 String[] myNewArray3 = myNewStream.toArray(String[]::new);

但是,让我们解释更多,首先,让我们创建一个包含三个值的字符串列表:

String[] stringList = {"Bachiri","Taoufiq","Abderrahman"};

从给定数组创建一个流:

Stream<String> stringStream = Arrays.stream(stringList);

我们现在可以在此流上执行一些操作,例如:

Stream<String> myNewStream = stringStream.map(s -> s.toUpperCase());

最后使用以下方法将其转换为 java 8 数组:

1-经典方法(功能接口)

IntFunction<String[]> intFunction = new IntFunction<String[]>() {
    @Override
    public String[] apply(int value) {
        return new String[value];
    }
};


String[] myNewArray = myNewStream.toArray(intFunction);

2 -λ表达式

 String[] myNewArray2 = myNewStream.toArray(value -> new String[value]);

3- 方法参考

String[] myNewArray3 = myNewStream.toArray(String[]::new);

方法参考说明:

这是编写 lambda 表达式的另一种方式,它严格等同于另一种。

模板简介:该模板名称为【将 Java 8 转换为数组的最简单/最短的方法是什么?Stream】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Java】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 170次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 03-09
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信文章 微信素材 自适应 微信模板 微信图片 企业网站 微信公众平台 html5 单页式简历模板 响应式
您可能会喜欢的其他模板