如何使用集合中的ArrayList方法,集合arraylist方法
如何使用集合中的ArrayList方法,集合arraylist方法
public class ArrayListTest {//使用泛型使studentlist的类型只能是Student
public ArrayList<Student> studentlist=new ArrayList<Student>();
public static void main(String[] args) {
//在静态变量方法中使用非静态方法需要实例化类的实例,通过实例去调用非静态方法
ArrayListTest demo=new ArrayListTest ();
demo.addStudent();
System.out.println("修改前");
demo. printStudent();
// 使用学生学号查找学生
String num="23";Student stu=demo.findStudentById(num);
System.out.println("查找的学生是:"+stu);
// 通过姓名查找学生,并修改学生姓名
demo.updateStudent("李三","李三万");
System.out.println("修改后");
demo. printStudent();
System.out.println("删除后");
demo.removeStudent(stu);
demo. printStudent();
}
public void addStudent(){
Student studentA=new Student("李四","23",23,'男');
Student studentB=new Student("李三","24",25,'男');
Student studentC=new Student("张三","25",25,'男');
studentlist.add(studentA);//Boolean add(Object o)将指定元素添加到列表的末尾对象
studentlist.add(studentB);
studentlist.add(1,studentC);
}
// public boolean Contains(Student studentA){
// //Boolean contains(Object o)判断列表中是否包含对象元素
// boolean a=studentlist.contains(studentA);
// return a;
// }
public void printStudent(){
//因为类的成员属性已经声明了studentlist为Student类型,所以不需要进行类型转换
// Student lisi=(Student)studentlist.get(0);
// Student lisi=studentlist.get(0);
// Student lisan=studentlist.get(2);
// Student zhangs=studentlist.get(1);
//
// int size=studentlist.size();//Int size()返回当前列表的元素个数
// System.out.println("Arraylist的储存元素有:"+size);
//
// System.out.println(lisi);
// System.out.println(lisan);
// System.out.println(zhangs);
//
int size=studentlist.size();//Int size()返回当前列表的元素个数
System.out.println("Arraylist的储存元素有:"+size);
for(int i=0;i<size;i++){
// 因为已经在成员属性里对studentlist设定为泛型的Student,所以用studentlist调用任何方法都默认为
// Student型,所以前面的(Student)可以省略。
// Student student=(Student)studentlist.get(i);
Student student=studentlist.get(i);
System.out.println(student);
}
}
/*
* 使用学生学号查找学生
*/
public Student findStudentById(String num){
int size=studentlist.size();
Student student=null;
for(int i=0;i<size;i++){
Student stu=studentlist.get(i);
if(stu.number.equals(num)){//因为是对象在比较所以用equals
student=stu;
break;
}
}
return student;
}
/*
* 通过姓名查找学生,并修改学生姓名
*/
public void updateStudent(String oldName,String newName){
int size=studentlist.size();
for(int i=0;i<size;i++){
Student stu=studentlist.get(i);
if(stu.name.equals(oldName)){
stu.name=newName;
break;
}
}
}
public void removeStudent(Student student){
studentlist.remove(student);
}
}
输出的结果是
修改前
Arraylist的储存元素有:3
李四 性别 :男 年龄是 :23岁 学号是23
张三 性别 :男 年龄是 :25岁 学号是25
李三 性别 :男 年龄是 :25岁 学号是24
查找的学生是:李四 性别 :男 年龄是 :23岁 学号是23
修改后
Arraylist的储存元素有:3
李四 性别 :男 年龄是 :23岁 学号是23
张三 性别 :男 年龄是 :25岁 学号是25
李三万 性别 :男 年龄是 :25岁 学号是24
删除后
Arraylist的储存元素有:2
张三 性别 :男 年龄是 :25岁 学号是25
李三万 性别 :男 年龄是 :25岁 学号是24
用法的变形,改写录入学生的信息
public class ArrayListDemo {
public ArrayList<Stu> studentlist=new ArrayList<Stu>();
public static void main(String[] args) {
ArrayListDemo demo=new ArrayListDemo ();
Scanner scanner=new Scanner(System.in);
System.out.println("请输入");
for(int i=1;;i++){
int g=scanner.nextInt();
switch(g){
case 1:demo.AddStudent();break;
case 2:demo.printStudent();break;
case 3:demo.removeStudent();break;
case 4:demo.findStudentById();break;
case 5:demo.Finsh();break;
default:break;
}
}
}
public void AddStudent(){
System.out.println("======添加学生信息=========");
Scanner scanner=new Scanner(System.in);
System.out.println("请输入姓名");
String name=scanner.next();
System.out.println("请输入学号");
int number=scanner.nextInt();
Stu student=new Stu(name,number);
studentlist.add(student);
System.out.println("添加成功!学生姓名是:"+name+",学号是"+number);
}
public void printStudent(){
int size=studentlist.size();//Int size()返回当前列表的元素个数
System.out.println("姓名\t学号\t");
for(int i=0;i<size;i++){
Stu student=studentlist.get(i);
System.out.println(student.name+"\t"+student.number);
}
}
/*
* 通过姓名查找学生,并删除改学生姓名
*/
public void removeStudent(){
Scanner scanner=new Scanner(System.in);
System.out.println("=========请输入要删除学生的姓名========");
String name=scanner.next();
int size=studentlist.size();
for(int i=0;i<size;i++){
Stu stu=studentlist.get(i);
if(stu.name.equals(name)){
stu.name=name;
studentlist.remove(stu);
System.out.println("=========已删除========");
break;
}
}
}
/*
* 使用学生学号查找学生
*/
public void findStudentById(){
Scanner scanner=new Scanner(System.in);
System.out.println("========请输入要查找学生的学号==========");
int num=scanner.nextInt();
int size=studentlist.size();
Stu student=null;
for(int i=0;i<size;i++){
Stu stu=studentlist.get(i);
if(stu.number==num){
student=stu;
System.out.println(student);
break;
}
}
}
//结束的写法
public void Finsh(){
System.out.println("结束");
System.exit(0);
}
}
相关文章
- 暂无相关文章
用户点评