スポンサーリンク

Mapを実装しているjava.utilのクラス

Mapインターフェースを実装しているクラスはたくさんあるのでいくつかをピックアップ。
クラスによって、key=valueの並び順が変わるので、用途によって
使い分けたほうがよい。
HashMap k=vの並びが適当
Hashtable keyが降順(数が大から小へ数えた順番)になる
TreeMap keyが昇順(数が小から大へ)になる
LinkedHashMap k=vを入れた順番に並ぶ

Map サンプルコード
HashMap,Hashtable,TreeMap,LinkedHashMapのクラスを比較してみます。
import java.util.Map;
public class JavaMapTest {
	static public void main(String[] arg){
		Map<String, String> hm = new HashMap();
		Map<String, String> ht = new Hashtable();
		Map<String, String> tm = new TreeMap();
		Map<String, String> lhm = new LinkedHashMap();
		setData(hm);
		setData(ht);
		setData(tm);
		setData(lhm);
		System.out.println("HashMap: " + hm);
		System.out.println("Hashtable: " + ht);
		System.out.println("TreeMap: " + tm);
		System.out.println("LinkedHashMap: " + lhm);
	}
	static private void setData(Map<String,String> m){
		m.put("2", "200");
		m.put("3", "300");
		m.put("1", "100");
		m.put("5", "a");
		m.put("6", "b");
		m.put("4", "c");
	}
}

実行結果
HashMap,Hashtable,TreeMap,LinkedHashMapのクラスを違いがこの結果から
解ります。
HashMap: {3=300, 5=a, 2=200, 4=c, 6=b, 1=100}
Hashtable: {6=b, 5=a, 4=c, 3=300, 2=200, 1=100}
TreeMap: {1=100, 2=200, 3=300, 4=c, 5=a, 6=b}
LinkedHashMap: {2=200, 3=300, 1=100, 5=a, 6=b, 4=c}

用途によって、Mapクラスを使い分けるといいでしょう。

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

はてなの人気のブックマーク

スポンサーリンク
 

過去ログ

2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー