进阶day07-Stream中的常用方法练习(重点)

This commit is contained in:
2026-03-14 16:22:39 +08:00
parent 34acd3ec4f
commit d5297a0324
2 changed files with 47 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
package com.inmind.stream03;
public class Person {
String name;
public Person(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
'}';
}
}

View File

@@ -2,6 +2,7 @@ package com.inmind.stream03;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
/*
现在有两个ArrayList集合存储队伍当中的多个成员姓名要求使用传统的for循环或增强for循环依次进行以下若干操作步骤
@@ -35,5 +36,35 @@ public class StreamTest25 {
two.add("张二狗");
two.add("张天爱");
two.add("张三");
/*
1. 第一个队伍只要名字为3个字的成员姓名
2. 第一个队伍筛选之后只要前3个人
* *//*
Stream<String> stream1 = one.stream().filter(s -> s.length() == 3).limit(3);
*//*
3. 第二个队伍只要姓张的成员姓名;
4. 第二个队伍筛选之后不要前2个人
*//*
Stream<String> stream2 = two.stream().filter(s -> s.startsWith("张")).skip(2);
//5. 将两个队伍合并为一个队伍;
Stream<String> stream = Stream.concat(stream1, stream2);
//6.根据姓名创建Person对象(String流转为Person流)
Stream<Person> personStream = stream.map(s -> {
return new Person(s);
});
//7. 打印整个队伍的Person信息。
personStream.forEach(p-> System.out.println(p));*/
Stream.concat(
one.stream().filter(s -> s.length() == 3).limit(3),
two.stream().filter(s -> s.startsWith(""))
.skip(2))
.map(s -> new Person(s)).forEach(p-> System.out.println(p));
}
}