学习阶段,以下不考虑泛型

package collectionDemo;

import java.util.*;
/*
 * ArrayList去掉重复元素练习
 * 实现思路:新申请一个集合,每次取一个,判断有没有在新集合中,没有则存储进去,有则什么都不做
 * 
 * 输出结果:
 * [name:李四  age:5, name:赵三  age:8, name:科比  age:13]
 * --------------------------------------------------
 * [name:李四  age:5, name:赵三  age:8, name:科比  age:13]
 * 
*/
public class ArrayListDemo {

	public static void main(String[] args) {
		
		List<Student> list = new ArrayList<Student>();
		
		list.add(new Student("李四",5));
		list.add(new Student("赵三",8));
		list.add(new Student("科比",13));
		list.add(new Student("李四",5));
		list.add(new Student("赵三",8));
		list.add(new Student("科比",13));
		
		//迭代器实现
		List<Student> list2 = new ArrayList<Student>();
		
		Iterator<Student> it =  list.iterator();
		
		Student temp = null;
		while(it.hasNext()){
			temp = (Student)it.next();
			if(!list2.contains(temp)){
				list2.add(temp);
			}
		}
		
		System.out.println(list2);
		System.out.println("--------------------------------------------------");
		
		//不使用迭代器实现
		List<Student> list3 = new ArrayList<Student>();
		
		for(int i= 0; i<list.size(); i++){
			temp = (Student)list.get(i);
			if(!list3.contains(temp)){
				list3.add(temp);
			}
		}
		
		System.out.println(list3);
	}

	
}

class Student{
	private String name;
	private int age;
	
	Student(){
		
	}
	
	
	Student(String name, int age){
		this.name = name;
		this.age = age;
	}


	public String getName() {
		return name;
	}


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


	public int getAge() {
		return age;
	}


	public void setAge(int age) {
		this.age = age;
	}
	
	public String toString(){
		
		return "name:"+this.name+"  age:"+this.age;
	}
	
	public boolean equals(Object o){
		
		if(o == null){
			return false;
		}
		if(this == o){
			return true;
		}
		if(o instanceof Student){
			Student s = (Student)o;
			return this.name.equals(s.name) && this.age == s.age;
		}
		return false;
	}

}