Java Map クラスの違い HashMap Hashtable TreeMap LinkedHashMap
スポンサーリンク
このドキュメントの内容は、以下の通りです。
はじめに
Javaのjava.utilのクラスには、Mapがあります。JavaのMapは、複数のクラスがあります。
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]
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 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