----------------------------------------------------------------------------------------------------------------------------------------------------------

 泡牛吧!

                                       希望越来越多的光棍能够泡到牛

-----------------------------------------------------------------------------------------------------------------------------------------------------------

HashTable排序(二)

package test.map;

import java.util.Arrays;
import java.util.Comparator;
import java.util.Hashtable;
import java.util.Map;
import java.util.Set;
/*×
 * 可以构造面向对象内存数据库
 */
public class TestHashMap {

 @SuppressWarnings( { "unchecked", "unchecked" })
 public static Map.Entry<String,Person>[] getSortedHashtableByKey(Hashtable<String,Person> h) {
  Set<Map.Entry<String,Person>> set = h.entrySet();
  Map.Entry<String,Person>[] entries =  set.toArray(new Map.Entry[set.size()]);
  Arrays.sort(entries, new Comparator() {
   public int compare(Object arg0, Object arg1) {
    Object key1 = ((Map.Entry) arg0).getKey();
    Object key2 = ((Map.Entry) arg1).getKey();
    return ((Comparable) key1).compareTo(key2);
   }
  });
  return entries;
 }
 
 @SuppressWarnings( { "unchecked", "unchecked" })
 public static Map.Entry<String,Person>[] getSortedHashtableByValue(Hashtable<String,Person> h) {
  Set<Map.Entry<String,Person>> set = h.entrySet();
  Map.Entry<String,Person>[] entries =  set.toArray(new Map.Entry[set.size()]);
  Arrays.sort(entries, new Comparator() {
   public int compare(Object arg0, Object arg1) {
    Person key1 = (Person)((Map.Entry)arg0).getValue();
    Person key2 = (Person)((Map.Entry)arg1).getValue();
    return ((Comparable) key1.age).compareTo(key2.age);
   }
  });
  return entries;
 }
    @SuppressWarnings("unchecked")
 public static void main(String[] args) {
  Hashtable<String, Person> t = new Hashtable<String, Person>();
  t.put("10-11 02:45德利城VS德罗赫达联队",new Person("lcl",28));
  t.put("10-11 06:45朗福德城VS谢尔伯恩",new Person("fxx",29));
  t.put("10-11 05:00EL国民队VS托拉卡",new Person("fx",23));
  
  for(Map.Entry<String,Person> ent:getSortedHashtableByValue(t)){
   System.out.println(ent.getKey()+":"+ent.getValue().getName());
  }
 }

 public static class Person {

  private int age;
  private String name;

  public Person(String name, int age) {
   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;
  }

 }
}

haohao   2007-05-20 03:25:20 评论:0   阅读:324   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

一切版权属于个人(转载例外)