gpt4 book ai didi

java - 如何在包含不同对象的ArrayList中添加对象组的末尾

转载 作者:太空宇宙 更新时间:2023-11-04 11:34:38 24 4
gpt4 key购买 nike

我应该为 ArrayList 创建一个 addcourse 方法。Arraylist 有学生和类(class)。类(class)添加在学生之后和该学生的末尾。例如,Arraylist 可以包含(Student1, Course1, Course2, Student2, Course1, Course3)。当我想将 Course3 添加到 Student1 时,它应该在 Course2 之后,但在 Student2 之前。

addcourse 方法应该具有以下接口(interface):void addcourse(学生 s,类(class) c)。首先选择我想要添加类(class)的学生以及哪门类(class)。如何在 ArrayList 中找到 Student2 的索引。

最佳答案

你在用ArrayList做什么?为了?您只需添加 ArrayList<Course> courses到学生类(class)。

例如:

public class Student{
public ArrayList<Course> courses = new Arraylist<Course>;

//Other stuff

public void addCourse(Course c){
courses.add(c);
}
}

编辑:

由于这对 OP 不起作用,因此我还提供了一种在问题限制内工作的方法。步骤:

  • 查找 Student 的索引
  • 查找下一个的索引 Student
  • 放置新的 Course就在下一个Student之前

如果你的ArrayList被称为list ,那么这样的事情就可以工作:

    public void addCourse(Student student, Course course){
int studentIndex = -1;
int nextStudentIndex = -1;

for(int i=0; i<list.size(); i++){
if(!(list.get(i) instanceof Student)){
continue;
}

if(list.get(i).equals(student)){
studentIndex = i;
continue;
}

if(studentIndex != -1 && nextStudentIndex == -1){
nextStudentIndex = i;
}
}

list.add(nextStudentIndex, course);
}

关于java - 如何在包含不同对象的ArrayList中添加对象组的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43419029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com