Japanese / English
TreeMap
TreeMapはMapインターフェースを実装したクラスで、挿入した値を、キーの昇順に保持します。
getすると、キーの昇順で値が返ります。以下、実行例です。

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

public class ExIterator {
    public static void main(String[] args) {
        Map map = new TreeMap();
        map.put("a","test2");
        map.put("c","test1");
        map.put("b","test3");
        
        StringBuffer buf = new StringBuffer();
        
        for (Iterator itr = map.keySet().iterator();itr.hasNext();){
            String key   = (String)itr.next();
            String value = (String)map.get(key);
            System.out.println(key +" = " + value);
        }
    }
}
結果は以下の通りです。

a = test2
b = test3
c = test1
Comparatorを実装する
TreeMapのコンストラクタにはComparatorインタフェースをimplementsしたクラスを引数にすることができます。
Comparatorはソートする順を定義するクラスです。
以下、実装例です。

package purejava;

import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;

public class CompTest{
    public static void main(String[] args) {
        Map map = new TreeMap(new Comp());
        map.put( a , test2 );
        map.put( c , test1 );
        map.put( b , test3 );
        
        for (Iterator<String> itr = map.keySet().iterator();itr.hasNext();){
            String key   = (String)itr.next();
            String value = (String)map.get(key);
            System.out.println(key +  =   + value);
        }
    }
    // ソートするルールを定義
    static class Comp implements Comparator{
        public int compare(Object arg0,Object arg1) {
            return ((Comparable)arg0).compareTo(arg1) * -1;// 降順でソート
        }
    }
}
結果は以下の通りです。

c = test1
b = test3
a = test2

Back to top

Information
Information
社長ブログ


運営サイト




広告



Google Search
PV
SEO対策 大阪  税理士 相談  税理士 守口市  税理士 大阪市  税理士 枚方市  自動車ガラス 神戸  シール印刷 神戸  ブリリアントアパートメント  株式会社CONFRAGE  英会話 個人レッスン 京都市右京区  京都市右京区西京区でマンツーマン英会話 
このページはCONFRAGEの著作物です。このページを複製・転載することを禁じます。CopyRight(C)2003-2016 CONFRAGE All rights reserved.