当前位置: 首页 > 知识库问答 >
问题:

如何使用Java 8 lambdas将对象添加到另一个列表中

芮明知
2023-03-14

对于如何使用Java8Lambdas将对象添加到另一个列表中,我有一个疑问。

让我解释一下:

我有以下对象:

类对象:

public class Course{

   private String courseNae;
   private List<Student> studentList;

   /*gets and sets */

}

学生对象:

public class Student{

   private String studentName;
   private List<Subject> subjectList;

       /*gets and sets */
}

主客体:

public class Subject{

   private String subjectName;
   private String details;
   private double value;

       /*gets and sets */
}

我想这样做,但使用java 8 lambda:

 for(Class course: this.courseList){
        for(Student std: course.getStudentList()){
            if(std.getStudentName().equals(name)) {
                std.getSubjectList()
                        .add(Subject.newBuilder()
                        .subjectName(infoName)
                        .details("fofofofof")
                        .value(10.0)
                        .build());
            }
        }
    }

总的来说:-我想在我的课程列表中找到学生的名字

  • 一旦我找到了学生姓名,我想在科目列表中添加一个新的科目信息

共有1个答案

席弘图
2023-03-14

这可能是您的问题的一个可能的解决方案:

代码:

courseList.stream()
          .map(Course::getStudentList)
          .flatMap(Collection::stream)
          .filter(student -> student.getStudentName().equals(name))
          .findFirst()
          .map(Student::getSubjectList)
          .ifPresent(subjectList -> subjectList.add(
              Subject.newBuilder()
                     .subjectName(infoName)
                     .details("fofofofof")
                     .value(10.0)
                     .build())
          );

说明:

  • . map(Cours-e::getstuentList)将转换输入List

注意事项:

  • 如下所示的方法调用:Course::getStudentList就是所谓的方法引用。在这里阅读更多关于他们的信息

 类似资料:
  • 很抱歉这太模糊了,但代码太多了。 这是一个五卡梭哈游戏。基本上,我试图将对象添加到另一个数组列表中的数组列表中。 这是我创建玩家数组并将手类中的数组添加到其中的地方,至少我认为这就是正在发生的事情: 稍后,我尝试在循环交易中将牌添加到玩家阵列中的手牌阵列中。由于有五张牌,第一个循环进行了五次。第二个是玩家数组的长度(玩家总数),每次应该添加一张卡。 Deck类中有一个deal方法,由以下方法初始化

  • 问题内容: 我有SourceObjects列表,我需要将其转换为ResultObjects列表。 我可以使用ResultObject的方法将一个对象获取到另一个对象: 我当然可以这样: 但对于能够展示如何使用 rxJava 进行相同操作的人,我将非常感激。 问题答案: 如果发出,则可以使用以下运算符: (将您的列表转换为可观察项) (将您的商品转换为其他商品) 运算符(将完成的Observable

  • 我试图迭代一个ArrayList并使用规则中的jboss drools添加到另一个ArrayList。 我的规则如下。 用口水怎么做?

  • 我是java新手,我正试图编写我的第一个“更大”的程序,包含几个类。我在类“CompetitionProgram”中创建了一个ArrayList并将其声明为private。 我的程序中需要这两个类(Event&ListOfEvents),这是需求之一。事件--它只是表示事件本身,比如事件名称和尝试次数(它是一个体育事件)。和ListOfEvents--它表示列表本身,并包含用于添加事件、删除事件和

  • 我在从一个表中插入一个列的值作为另一个表中的列时遇到了麻烦。我在col1中有一些值的表A:和另一个列等于col1值的表B。 我想把表A,col1中的其余值添加为表B中的列。请帮助我解决我的问题。我正在使用SQL server 2012。

  • 我想用不同的ID将学生添加到studentList中。我无法在for循环中创建学生,因为创建一个学生需要太长的时间。我发现有一个克隆方法,但学生对象有许多字段(其中大多数引用另一个对象)。有什么想法吗?