代码如下
package com.java.everdattest;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/*利用集合存储学生对象信息
创建学生类 包括学生的姓名 学号 提供构造方法
将学生对象存放在集合中
判断集合中是否有某个人
判断集合的大小
输出学生信息
*/
public class Todaystest04 {
public static void main(String []agrs) {
//创建集合
List mylist=new ArrayList();
//创建学生对象
Student a=new Student("张三",12551552);
Student b=new Student("小明",1254556);
Student c=new Student("jack",1236556);
Student d=new Student("bob",166556);
Student e=new Student("tom",1525556);
//集合添加对象
mylist.add(a);
mylist.add(b);
mylist.add(c);
mylist.add(d);
mylist.add(e);
// 迭代器遍历
Iterator it = mylist.iterator();
while (it.hasNext()) {
Object obj = it.next();
System.out.println(obj);
/*
* 注意的是输出调用的Object的toString方法如果 没有对toString()方法重写则会输出对象的内存地址
*/
}
System.out.println("===========================================================");
// 删除jack bob
mylist.remove(c);
mylist.remove(2);
System.out.println(mylist.size());
// get()方法遍历
for (int i = 0; i < mylist.size(); i++) {
System.out.println(mylist.get(i));
}
System.out.println(mylist.contains(a));
}
}
//定义学生类
class Student{
String name;//姓名
int no;//编号
//构造方法
public Student() {
}
public Student(String name ,int no) {
this.name =name;
this.no=no;
}
public String toString() {
return " 姓名 "+name
+" 学号 "+no;
}
public boolean equals(Object obj) {
if(this==obj)return true ;
if(null==obj||!(obj instanceof Student)) return false;
Student c =(Student) obj;
if(this.name.equals(c.name)&&this.no==c.no) return false;
return false;
}
}
注意的是:如果我们在创建学生类的时候不对toString()方法和equals()方法重写,那么在输出的时候以及判断是否存在某个对象的时候Jvm将调用的Object类的toString和equals方法,比较和输出的对象的内存地址而不是内容
运行结果