JavaでHello World
Google
  HOME  |  基礎  |  掲示板  |  ツール |  書籍  |  デザインパターン  |  リンク  |  フィードバック
JavaでHello World > コレクション(Map)編  
メニュー
Home
情報交換掲示板
ツールの部屋
Java関連の書籍
アプリケーション編
Swing編
Swing(イベント)編
Swing(Look&Feel)編
アプレット編
iアプリ編
サーブレット編
サーブレット(Linux)編
サーブレット(web.xml)編
サーブレット(セッション)編
サーブレット(クッキー)編
サーブレット(フィルタ)編
JSP編
JSP(ディレクティブ)編
JSP(アクション)編
JSP(スクリプト)編
JSP(オブジェクト)編
JSP(カスタムタグ)編
JSP(データベース)編
Apache + Tomcat編
Struts編
JDBC編
JDBC(データソース)編
JDBC(MySQL)編
JDBC(PostgreSQL)編
JDBC(トランザクション)編
JavaMail(SMTP)編
JavaMail(POP)編
JNI編
RMI編
RMI(アプレット)編
CORBA編
JNDI編
EJB編
EJB(Entity Bean)編
JMS(PTP)編
JMS(Pub/Sub)編
XML(SAX)編
XML(DOM)編
XSLT編
SOAP編
国際化編
国際化(タイムゾーン)編
国際化(通貨)編
リフレクション編
コレクション編
コレクション(Set)編
コレクション(List)編
コレクション(Map)編
スレッド編
正規表現編
アサーション編
ログ機能編
サウンド編
ファイル入出力編
URL編
ソケット編
データグラム編
HTTP
FTP編
jar編
javadoc編
Ant編
外部コマンド編
プロパティファイル編
システムプロパティ編
Eclipse編
  2003/05/10  田中宏和
コレクション(Map)編
◆コレクションとは?
コレクションとは複数の要素が集まったグループを表すオブジェクトのことです。
◆コレクション・フレームワークとは?
コレクション・フレームワークとはコレクションを表したり操作したりする統一されたアーキテクチャのことです。
◆Mapインターフェースとは?
キーを値にマッピングするオブジェクトです。キーは重複して登録することはできません。各キーはそれぞれ一つの値にマッピングします。
◆ここでの環境
OS Windows XP
J2SE SDK 1.4.1_01
◆Java実行環境の構築
アプリケーション編を参考にしてJava実行環境を構築してください。
◆Mapインターフェース
■Mapインターフェースの構成
■Mapインターフェースの説明
インターフェース 説明
Map キーを値にマッピングするオブジェクトです。キーは重複して登録することはできません。各キーはそれぞれ一つの値にマッピングします。
SortedMap キーが自然順序付けに従って昇順にソートされたマップを表します。挿入されるキーは、Comparable インタフェースを実装するか、指定された Comparator によって受け付けられる必要があります。
◆実装
MapインターフェースまたはSortedMapインターフェースを実装するクラスはHashMap、TreeMap、LinkedHashMapがあります。
クラス 説明
HashMap Map インタフェースのハッシュテーブルに基づく実装です。マップの順序について保証しません。同期化されないこととnullを許容することを除いてHashtableとほぼ同等です。
TreeMap SortedMap インタフェースの実装に基づく Red-Black ツリーです。マップがキーの昇順でソートされます。
LinkedHashMap 繰り返し順序を持つMap インタフェースのハッシュテーブルとリンクリストの実装です。キーがマップに挿入された順序を保持します。キーをマップに再挿入する場合、挿入順は影響を受けません。
◆サンプルコード
ここでは追加されたキーと値がどのような順序で保持されているか見るプログラムを作成します。マップに"5"、"4"、"3"、"2"、"1"というキーで"Five"、"Four"、"Three"、"Two"、"One"のStringオブジェクトを追加しています。
■ソースコード
HelloWorldMap.java(ここからダウンロード)
import java.util.*;

public class HelloWorldMap {
  public static void main(String[] args) {
    try {
      // HashMap
      Map hashMap = new HashMap();
      putData(hashMap);
      System.out.println("HashMap : " + hashMap);

      // TreeMap
      Map treeMap = new TreeMap();
      putData(treeMap);
      System.out.println("TreeMap : " + treeMap);

      // LinkedHashMap
      Map linkedHashMap = new LinkedHashMap();
      putData(linkedHashMap);
      System.out.println("LinkedHashMap : " + linkedHashMap);

    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  static void putData(Map map) {
    map.put("5" , "Five");
    map.put("4" , "Four");
    map.put("3" , "Three");
    map.put("2" , "Two");
    map.put("1" , "One");
  }
}
 
■コンパイルと実行
コマンドプロンプト
C:\JavaHello\Map>javac HelloWorldMap.java

C:\JavaHello\Map>java HelloWorldMap
HashMap : {3=Three, 5=Five, 2=Two, 4=Four, 1=One}
TreeMap : {1=One, 2=Two, 3=Three, 4=Four, 5=Five}
LinkedHashMap : {5=Five, 4=Four, 3=Three, 2=Two, 1=One}

C:\JavaHello\Map>

おおお!以下の説明の通りになっていますね!
HashMap・・・繰り返し順序について保証しない
TreeMap・・・キーの昇順でソートする
LinkedHashMap・・・キーがマップに挿入された順序を保持する
■書籍
Java関連の書籍

 
  ネットで買えば断然お得!お買い物なら楽天市場
ツールの部屋 - Java関連の書籍 - デザインパターン - 情報交換掲示板 - HOME