吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1600|回复: 5
收起左侧

[求助] 【JAVA】关于1.8新特性的题目

[复制链接]
宅男/kel 发表于 2021-3-12 12:55
40吾爱币
本帖最后由 宅男/kel 于 2021-3-12 12:57 编辑

[Java] 纯文本查看 复制代码
String[] test={"tom","jerry","lily","lucy","apple","atom","tommy","toms"};

题目:1 使用stream对数组继续处理  。2 找到包含“tom”并且长度>=4的所有单词 3、对步骤2找到的单词后加上单词的长度 如“atom”-》“atom4” 4、将步骤23处理的结果 转换成list集合打印

求助  不知道解题思路 不知道怎么动手

最佳答案

查看完整内容

Arrays.stream(test).filter(s -> s.contains("tom") && s.length() >= 4) .map(s -> s + "->" + s.length()).collect(Collectors.toList());

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

1281407155 发表于 2021-3-12 12:55
Arrays.stream(test).filter(s -> s.contains("tom") && s.length() >= 4)
                .map(s -> s + "->" + s.length()).collect(Collectors.toList());
1281407155 发表于 2021-3-12 13:30
Arrays.stream(test).filter(s -> s.contains("tom") && s.length() >= 4)
                .map(s -> s + "->" + s.length()).collect(Collectors.toList());
老夫元婴期 发表于 2021-3-12 13:40
List<String> results = Arrays.stream(test).filter(t -> t.length()>=4 && t.indexOf("tom")>=0).map(t -> t + t.length()).collect(Collectors.toList());

刚刚对着菜鸟教程现学的stream,感觉不好用
真的小白 发表于 2021-3-12 13:40
本帖最后由 真的小白 于 2021-3-12 13:47 编辑

今天在学习的时候,刚好就遇到了对List的处理

[Java] 纯文本查看 复制代码
    public static void main(String[] args) {
        String[] test = {"tom", "jerry", "lily", "lucy", "apple", "atom", "tommy", "toms"};
        //1 使用stream对数组继续处理
        var testStream = Arrays.stream(test);
        //2 找到包含“tom”并且长度>=4的所有单词
        var findTom = testStream.filter(str -> str.contains("tom") && str.length() >= 4);
        //3、对步骤2找到的单词后加上单词的长度 如“atom”-》“atom4”
        var tomAppendLength = findTom.map(str -> str = str + str.length());
        //4、将步骤23处理的结果 转换成list集合
        var tomList = tomAppendLength.collect(Collectors.toList());
        //5、打印
        tomList.forEach(str -> System.out.println(str));
    }


QQ截图20210312134001.png

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
宅男/kel + 1 + 1 谢谢@Thanks!

查看全部评分

老夫元婴期 发表于 2021-3-12 13:42
Arrays.stream(test).filter(t -> t.length()>=4 && t.indexOf("tom")>=0).map(t -> t + t.length()).collect(Collectors.toList()).forEach(t -> System.out.println(t));
刚刚没注意要打印出来,那就加一句

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
宅男/kel + 1 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 06:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表