练习-Java集合类之List的ArrayList之删除指定学生
时间: 2024-12-15 22:16:06 浏览: 7
在Java中,如果要在`ArrayList<Student>`列表中删除指定的学生,你可以使用`remove(Object)`方法。这个方法会从列表中移除第一个匹配给定对象的元素。这里假设有一个名为`Student`的类,它有一个表示姓名的属性。
```java
import java.util.ArrayList;
class Student {
private String name;
// 构造函数和getter/setter省略
@Override
public boolean equals(Object obj) {
if (obj instanceof Student) {
return this.name.equals(((Student) obj).getName());
}
return false;
}
@Override
public int hashCode() {
return name.hashCode();
}
}
public class Main {
public static void main(String[] args) {
// 创建ArrayList并填充数据
ArrayList<Student> students = new ArrayList<>();
students.add(new Student("张三"));
students.add(new Student("李四"));
students.add(new Student("王五"));
// 删除指定学生,这里假设我们要删除"王五"
String targetName = "王五";
for (int i = 0; i < students.size(); i++) {
if (students.get(i).equals(new Student(targetName))) {
students.remove(i); // 使用索引i删除对应位置的学生
break; // 找到目标后立即停止搜索
}
}
// 输出剩余的学生
for (Student student : students) {
System.out.println(student.getName());
}
}
}
```
在这个例子中,我们首先创建了一个`ArrayList<Student>`,然后通过遍历查找目标学生的名称,并调用`remove()`方法将其从列表中移除。需要注意的是,由于列表可能会被改变大小,所以在删除元素之后需要更新循环的条件,防止访问到已经被移除的位置。
阅读全文