您的位置:首页 > 其它

如何使用集合中的ArrayList方法

2016-04-18 21:21 507 查看
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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: