Java学习的第9天
ArrayList类的概述
- 集合:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变
- ArrayList集合的特点:底层是数组实现的,长度可以变化
- 泛型的使用:用于约束集合中存储的元素
ArrayList类的常用方法
-
构造方法
方法名 说明 public ArrayList() 创建一个空的集合对象 -
成员方法:
方法名 说明 public boolean remove(Object o) 删除指定元素 public E remove(int index) 删除指定索引处的元素,返回被删除的元素 public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素 public E get(int index) 返回指定索引处的元素 public int size() 返回集合中的元素个数 public void add(int index,E element) 在集合中的指定位置插入指定的元素
综合应用-学生查询系统
package study;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Random;
public class study1 {
public static void main(String[] args) {
ArrayList<student>array=new ArrayList<>();
while(true){
System.out.println("-------------欢迎来到学生信息管理系统--------------");
System.out.println("1 添加学生");
System.out.println("2 删除学生");
System.out.println("3 修改学生");
System.out.println("4 查看所有学生");
System.out.println("5 退出");
System.out.println("---------------------------------------------");
System.out.println("请输入你的选择:");
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
switch(s){
case "1":
addStudent(array);
break;
case "2":
DeleteStudent(array);
break;
case "3":
UpdateStudent(array);
break;
case "4":
FindAllStudent(array);
break;
case "5":
System.out.println("谢谢使用");
System.exit(0);
}
}
}
public static void addStudent(ArrayList<student>array){
Scanner sc=new Scanner(System.in);
String id;
while(true){
System.out.println("请输入学生学号");
id=sc.nextLine();
boolean flag=IsUsed(array,id);
if(flag==true){
System.out.println("你存入的这个学生的信息已经存在了,请重新输入");
}
else{
break;
}
}
System.out.println("请输入学生姓名");
String name=sc.nextLine();
System.out.println("请输入学生年龄:");
String age=sc.nextLine();
System.out.println("请输入学生所居住地");
String address=sc.nextLine();
student s=new student();
s.setId(id);
s.setName(name);
s.setAge(age);
s.setAddress(address);
array.add(s);
}
public static boolean IsUsed(ArrayList<student>array,String id){
boolean flag=false;
for (int i = 0; i < array.size(); i++) {
student s=array.get(i);
if(s.getId().equals(id)){
flag=true;
break;
}
}
return flag;
}
public static void DeleteStudent(ArrayList<student>array){
Scanner sc=new Scanner(System.in);
String sid=sc.nextLine();
int index=-1;
System.out.println("请输入学生学号:");
String id=sc.nextLine();
System.out.println("请输入学生姓名:");
String name=sc.nextLine();
for (int i = 0; i < array.size(); i++) {
student s=array.get(i);
if(s.getId().equals(sid)){
index=i;
break;
}
if(index==-1){
System.out.println("该信息不存在,请重新输入");
}
else{
array.remove(index);
System.out.println("删除学生信息成功");
}
}
}
public static void UpdateStudent(ArrayList<student>array){
Scanner sc=new Scanner(System.in);
System.out.println("请输入你需要修改学生的学号:");
String id=sc.nextLine();
System.out.println("请输入学生新名字:");
String name=sc.nextLine();
System.out.println("请输入学生新年龄:");
String age=sc.nextLine();
System.out.println("请输入学生新的居住地:");
String address=sc.nextLine();
student s=new student();
s.setName(name);
s.setId(id);
s.setAge(age);
s.setAddress(address);
for (int i = 0; i < array.size(); i++) {
student Stu=array.get(i);
if(Stu.getId().equals(id)){
array.set(i,s);
}
}
System.out.println("修改信息成功");
}
public static void FindAllStudent(ArrayList<student>array){
if(array.size()==0){
System.out.println("没有任何信息");
return;
}
System.out.println("学号\t\t\t姓名\t\t年龄\t\t居住地");
for (int i = 0; i < array.size(); i++) {
student s=array.get(i);
System.out.println(s.getId()+"\t"+s.getName()+"\t\t"+s.getAge()+"\t\t"+s.getAddress());
}
}
}
class student{
private String name;
private String age;
private String id;
private String address;
public student(){};
public void setName(String name){
this.name=name;
}
public void setAge(String age){
this.age=age;
}
public void setId(String id){
this.id=id;
}
public void setAddress(String address){
this.address=address;
}
public String getName(){
return name;
}
public String getId(){
return id;
}
public String getAge(){
return age;
}
public String getAddress(){
return address;
}
public void show(){
System.out.println("学生id:"+id+",年领:"+age+",姓名:"+name+"学生所在地:"+address);
}
}