您的位置:首页 > 其它

ArrayList和Iterator的初步使用(二)

2012-11-18 00:26 281 查看
package cn.cp;
//ArrayList和Iterator的初步使用(二)
//要求:不要让ArrayList保存相同的元素(它本来是可以保存重复元素的)
//方法:重写equals()方法
//注意:
//(1)contains()方法的使用
//(2)在第一处定义Iterator iterator=arrList2.iterator()是错误的。导致后面的while()错误
//因为此时的容器里面还没有东西,这时候它的迭代器是拿不到对象的。而在往容器里面添加元素后
//再获取Iterator,这个迭代器才可以进行迭代
import java.util.ArrayList;
import java.util.Iterator;

class Student {
private int age;
private String name;

public Student(int age, String name) {
super();
this.age = age;
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Override
public boolean equals(Object obj) {// 重写equals方法
Student st = (Student) obj;
if (st.age == this.age && st.name == this.name) {
return true;
} else {
return false;
}
}
}

public class ArrayListTest2 {
public static void main(String[] args) {
ArrayListTest2 arrayListTest2 = new ArrayListTest2();
ArrayList arrList2 = new ArrayList();
// Iterator iterator=arrList2.iterator();//第一处.在此定义是不可以的。while()时出错
Student student1 = new Student(11, "mmha");
Student student3 = new Student(13, "haha");
Student student4 = new Student(13, "haha");//无法添加此重复元素
arrayListTest2.addObj(arrList2, student1);
arrayListTest2.addObj(arrList2, student3);
arrayListTest2.addObj(arrList2, student4);
Iterator iterator = arrList2.iterator();//第二处.
while (iterator.hasNext()) {
Student stu = (Student) iterator.next();
System.out.println("学生的姓名是:" + stu.getName());
}
}

public void addObj(ArrayList arrayList, Student s) {
if (arrayList.contains(s)) {
System.out.println(s.getName() + "已存在");
}
if (!arrayList.contains(s)) {
arrayList.add(s);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐