2020/10/23 刘一辰的JAVA随笔
今日目标:删除 Java ArrayList 中的某个学生信息,并遍历集合输出结果。
实验代码:
请定义学生 类,属性包含姓名和年龄。用户输入需要删除的学生姓名,到 ArrayList 集合 中,删除该学生的信息,并遍历集合打印学生信息。
- 定义学生类,属性包含姓名和年龄。
- 创建 ArrayList 集合对象,泛型声明为 Student 类型。
- 通过用户输入的学生姓名,调用方法获取该学生在集合中的索引。
- 通过索引删除指定学生的信息。
创建学生类
public class Student
{
private String name;
private int age;
public Student()
{
}
public Student(String name, int age)
{
this.name = name;
this.age = age;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age
;
}
用户输入学生姓名,更改学生年龄信息,并输出学生信息
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayListDemo04
{
public static void main(String[] args)
{
ArrayList<Student> students = new ArrayList<>();
// 添加两个学生对象
Student stu1 = new Student("haicoder",20);
Student stu2 = new Student("日报",30);
students.add(stu1);
students.add(stu2);
// 展示学生信息
showStudent(students);
// 调用方法更改学生信息
updateStudent(students);
/** * 获取学生在集合中的角标 * @param name * @param students * @return */
public static int getIndex(String name,ArrayList<Student> students)
{
for (int i = 0; i < students.size(); i++)
{
Student stu = students.get(i);
if(name.equals(stu.getName()
)
)
{
int index = i; return index;
}
}
// 该学生不存在
return -1;
}
/** * 更新学生信息 * @param students */
public static void updateStudent(ArrayList<Student> students)
{
// 提示用户修改学生信息
Scanner sc = new Scanner(System.in);
System.out.print("请您输入您需要修改学生的名字:");
String name = sc.nextLine();
int index = getIndex(name,students);
if(index >= 0)
{
System.out.print("请您输入新的年龄:");
int age = sc.nextInt();
Student newStu = new Student(name,age);
students.set(index,newStu);
System.out.println("您的学生对象已经修改成功!\n");
// 展示学生信息
showStudent(students);
}else{
System.out.println("该同学不存在!");
}
}
/** * 展示学生信息 * @param students */
public static void showStudent(ArrayList<Student> students)
{
for (int i = 0; i < students.size(); i++)
{
Student s = students.get(i);
System.out.println("学生信息为: " + s.getName() + " " + s.getAge() + "岁");
}
}
}
此时发现集合中只剩一个学生信息。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!