Java 使用带参数的构造函数填充对象列表
我需要填写班级学生名单:Java 使用带参数的构造函数填充对象列表,java,java-stream,Java,Java Stream,我需要填写班级学生名单: 班级学生{ 字符串名; 字符串lastName; 公立学生(字符串名、字符串名){ this.firstName=firstName; this.lastName=lastName; } 以下是生成器方法签名: 公共列表生成器领域学生(整数数量){ 列出学生名单; //列表由所需的学生数量填充 留学生; 我所尝试的: List student=Stream .of(新学生(getRandomStringFromFile(“firstnames.txt”)、getRa
班级学生{
字符串名;
字符串lastName;
公立学生(字符串名、字符串名){
this.firstName=firstName;
this.lastName=lastName;
}
以下是生成器方法签名:
公共列表生成器领域学生(整数数量){
列出学生名单;
//列表由所需的学生数量填充
留学生;
我所尝试的:
List student=Stream
.of(新学生(getRandomStringFromFile(“firstnames.txt”)、getRandomStringFromFile(“lastnames.txt”))
.限额(数量)
.collect(Collectors.toList());
只创建一个学生。
2) 尝试使用Stream.generate,但它仅适用于供应商,我无法使用构造函数的参数。Stream.of(new Student(…)
仅生成单个元素的流
相反,您需要的是有一个供应商
,它可以生成一个随机的学生
,然后使用流。生成(供应商)
来生成一个无休止的随机学生流(您稍后会限制该学生):
Student=()->新学员(
getRandomStringFromFile(“firstnames.txt”),
getRandomStringFromFile(“lastnames.txt”);
List student=Stream.generate(随机学生)
.限额(数量)
.collect(Collectors.toList());
或内联:
List<Student> students = Stream
.generate(() -> new Student(
getRandomStringFromFile("firstnames.txt"),
getRandomStringFromFile("lastnames.txt")))
.limit(quantity)
.collect(Collectors.toList());
List student=Stream
.生成(()->新学生(
getRandomStringFromFile(“firstnames.txt”),
getRandomStringFromFile(“lastnames.txt”))
.限额(数量)
.collect(Collectors.toList());
你能展示一下你是如何尝试流式生成的吗
?你确实需要一个供应商……或者考虑使用IntStream.range
,就像你每次都要循环,映射
ping到一个新的学生
对象一样。
List<Student> students = Stream
.generate(() -> new Student(
getRandomStringFromFile("firstnames.txt"),
getRandomStringFromFile("lastnames.txt")))
.limit(quantity)
.collect(Collectors.toList());