*
*/
package day10;
/**
* @ClassName: Person
* @Description: TODO(这里用一句话描述这个类的作用)
* @author 肖阳
* @date 2013-7-24 上午10:23:59
*
*/
public class Person implements Comparable<Person>{
private String name;
private int age;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the age
*/
public int getAge() {
return age;
}
/**
* @param age the age to set
*/
public void setAge(int age) {
this.age = age;
}
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
Person person = (Person)obj;
return person.getName().equals(this.name)&&person.getAge()==this.age;
}
/* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
// TODO Auto-generated method stub
return this.name.hashCode()+this.age ;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
// TODO Auto-generated method stub
return this.name+","+this.age;
}
/**
*
*/
public Person() {
super();
// TODO Auto-generated constructor stub
}
/**
* @param name
* @param age
*/
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
/* (non-Javadoc)
* @see java.lang.Comparable#compareTo(java.lang.Object)
*/
@Override
public int compareTo(Person o) {
// TODO Auto-generated method stub
int flag = 0;
//按年龄排序
if(o.getAge()<this.age){
flag = -1;
}
if(o.getAge()>this.age){
flag = 1;
}
return flag;
}
}
/**
*
*/
package day8;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
/**
* @ClassName: HashSetTest
* @Description: TODO(这里用一句话描述这个类的作用)
* @author 肖阳
* @date 2013-7-24 上午9:30:01
*
*/
public class HashSetTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HashSet hashSet = new HashSet();
TreeSet<Person> treeSet = new TreeSet<Person>();
/* hashSet.add("123");
hashSet.add("123"); //不包含重复元素
hashSet.add(123);
System.out.println(hashSet.hashCode());
System.out.println(hashSet.size());*/
Person person1 = new Person("xiaomoon",20);
Person person2 = new Person("xiaomoon",20);
Person person3 = new Person("xiaomoon",30);
Person person4 = new Person("xiaoyang",10);
hashSet.add(person1);
hashSet.add(person2);
hashSet.add(person3);
hashSet.add(person4);
treeSet.add(person1);
treeSet.add(person2);
treeSet.add(person3);
treeSet.add(person4);
System.out.println(hashSet.size());
System.out.println(treeSet.size());
show(hashSet);
System.out.println("....");
System.out.println(treeSet.first());
show(treeSet);
}
public static void show(Set<Person> set){
Iterator<Person> iterator = set.iterator();
while(iterator.hasNext()){
Person person = iterator.next();
System.out.println(person);
}
}
}