如果想实现排序 而不是hash值 就用TreeMap
不同步
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeMap;
class cmp implements Comparator {
@Override
public int compare(Object o1, Object o2) {
Person a=(Person)o1;
Person b=(Person)o2;
int temp=a.name.compareTo(b.name);
return temp==0?a.age-b.age:temp;
}
}
class Person
{
String name;
int age;
Person(String name,int age)
{
this.name=name;
this.age=age;
}
}
class Main
{
public static void main(String args[])
{
TreeMap<Person,String> tm=new TreeMap<Person, String>(new cmp());
tm.put(new Person("abc",12),"神奇");
tm.put(new Person("abd",15),"abc1");
tm.put(new Person("abe",17),"abc23");
tm.put(new Person("abd",15),"abcccc");
Iterator<Person> i=tm.keySet().iterator();
while(i.hasNext())
{
Person key=(Person) i.next();
System.out.println(key.name+".."+key.age+".."+tm.get(key));
}
}
}