java 数组 lambda_Lambda表达式将数组/字符串列表转换为数组/整数列表

不需要接受的答案中的帮助方法。流可以与lambda一起使用,或者通常使用Method References缩短。流启用功能操作。map()转换元素和/ collect(...)或toArray()将流包装回数组或集合。

Venkat Subramaniam的演讲(视频)比我更好地解释了这一点。

1转换List成List

List l1 = Arrays.asList("1", "2", "3");

List r1 = l1.stream().map(Integer::parseInt).collect(Collectors.toList());

// the longer full lambda version:

List r1 = l1.stream().map(s -> Integer.parseInt(s)).collect(Collectors.toList());

2转换List为int[]

int[] r2 = l1.stream().mapToInt(Integer::parseInt).toArray();

3转换String[]为List

String[] a1 = {"4", "5", "6"};

List r3 = Stream.of(a1).map(Integer::parseInt).collect(Collectors.toList());

4转换String[]为int[]

int[] r4 = Stream.of(a1).mapToInt(Integer::parseInt).toArray();

5转换String[]成List

List r5 = Stream.of(a1).map(Double::parseDouble).collect(Collectors.toList());

6(奖金)转换int[]为String[]

int[] a2 = {7, 8, 9};

String[] r6 = Arrays.stream(a2).mapToObj(Integer::toString).toArray(String[]::new);

当然,可能会有更多变化。

另请参见这些示例的Ideone版本。可以单击fork,然后运行以在浏览器中运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值