スポンサーリンク

このドキュメントの内容は、以下の通りです。

はじめに


Javajava.utilのクラスには、Mapがあります。JavaMapは、複数のクラスがあります。

Map のクラス


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クラスを使い分けるといいでしょう。

参考

[[2008-04-10-1]] では、
Java Mapの使い方
' を紹介しています。
参照しているページ (サイト内): [2008-04-10-1]

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


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

関連記事

最近の記事

人気のページ

スポンサーリンク
 

過去ログ

2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
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入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー