집합 프레임HashSet 사용자 정의 대상 저장 및 반복 연습

package cn.itcast_03;

import java.util.HashSet;

/*
 * HashSet            。                 
 * 
 *   :
 * 		    HashSet  ,          。
 * 		          :hashCode() equals()  。
 * 		                      ,           。
 * 		     ?    ,      。
 */
public class DogDemo {
	public static void main(String[] args) {
		//       
		HashSet hs = new HashSet();

		//       
		Dog d1 = new Dog("  ", 2, "  ", ' ');
		Dog d2 = new Dog("  ", 1, "  ", ' ');
		Dog d3 = new Dog("   ", 4, "  ", ' ');
		Dog d4 = new Dog("  ", 2, "  ", ' ');
		Dog d5 = new Dog("  ", 2, "  ", ' ');

		//         
		hs.add(d1);
		hs.add(d2);
		hs.add(d3);
		hs.add(d4);
		hs.add(d5);

		//     
		for(Dog d : hs){
			System.out.println(d.getName()+"---"+d.getAge()+"---"+d.getColor()+"---"+d.getSex());
		}
	}
}
package cn.itcast_03;

public class Dog {
	private String name;
	private int age;
	private String color;
	private char sex;

	public Dog() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Dog(String name, int age, String color, char sex) {
		super();
		this.name = name;
		this.age = age;
		this.color = color;
		this.sex = sex;
	}

	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 getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + age;
		result = prime * result + ((color == null) ? 0 : color.hashCode());
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		result = prime * result + sex;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Dog other = (Dog) obj;
		if (age != other.age)
			return false;
		if (color == null) {
			if (other.color != null)
				return false;
		} else if (!color.equals(other.color))
			return false;
		if (name == null) {
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		if (sex != other.sex)
			return false;
		return true;
	}

}

좋은 웹페이지 즐겨찾기