|
| |
 |
コレクション(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 |