Archive for June, 2006

You are currently browsing the archives of Enabling Technology .

Sorted Map: Tree Map

package com.kbhy.micas.collection;

import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;

/**
* @author Yang Yuan
* All rights are reserved.
*
*/
public class TestHashMap {

public static void main(String[] args) {
  TreeMap h = new TreeMap();
  //  h.put("D", "1");
  //  h.put("A", "1");
  //  h.put("B", "1");
  //  h.put("C", "1");
  /*
   *
  D : 1
  A : 1
  C : 1
  B : 1
   */
  Ma m1 = new TestHashMap.Ma("A", "1");
  Ma m2 = new TestHashMap.Ma("B", "1");
  Ma m3 = new TestHashMap.Ma("C", "1");
  Ma m4 = new TestHashMap.Ma("D", "1");
  h.put(m4, "d");
  h.put(m2, "b");
  h.put(m3, "c");
  h.put(m1, "a");

  printHashMap(h);
  /*
  result:
       A 1 : a
       B 1 : b
       C 1 : c
       D 1 : d
   */
}

public static void printHashMap(TreeMap h) {
  Iterator it = h.entrySet().iterator();
  while (it.hasNext()) {
   Map.Entry e = (Map.Entry) it.next();
   System.out.println(e.getKey() + " : " + e.getValue());
  }
  System.out.println("————————————");
  Set s = h.keySet();
  Iterator it2 = s.iterator();
  while(it2.hasNext()){
   System.out.println(h.get(it2.next()));
  }

}
public static class Ma implements Comparable {
  String v1;
  String v2;
  public Ma(String v1, String v2) {
   this.v1 = v1;
   this.v2 = v2;
  }

  public int hashCode() {
   return 1;
  }
  public int compareTo(Object ob) {
   Ma m = (Ma) ob;
   return this.v1.compareTo(m.v1);
  }

  public boolean equals(Object ob) {
   Ma m = (Ma) ob;
   return m.v1.equals(this.v1);
  }

  public String toString() {
   return v1 + " " + v2;
  }
}

}

Posted by micas on Jun 13th 2006 | Filed in Enabling-tech | Comments (0)