【JAVA】关于1.8新特性的题目
本帖最后由 宅男/kel 于 2021-3-12 12:57 编辑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()); Arrays.stream(test).filter(s -> s.contains("tom") && s.length() >= 4)
.map(s -> s + "->" + s.length()).collect(Collectors.toList()); 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:47 编辑
今天在学习的时候,刚好就遇到了对List的处理
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));
}
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]