JavaA2Z

KAB-studio > プログラミング > JavaA2Z > LinkedHashMapとは

LinkedHashMap

日本語 連結細切り地図
英語 linked hash map
ふりがな りんくとはっしゅまっぷ、りんくはっしゅまっぷ
フリガナ リンクトハッシュマップ、リンクハッシュマップ

解説

J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名java.util.LinkedHashMap。
「追加順」を維持するHashMapクラス
 
基本的にはHashMapクラスと同じ機能を持つ。
加えて、LinkedHashMapクラスは「追加順を維持する」という機能を持つ。
 
HashMapクラスは、追加時にキーのハッシュコードでグループ分けをうため、キーと値の並びが追加順とはならない。
LinkedHashMapクラスは、LinkedListクラス同様「要素のリンク」という機能によって格納される。この時、追加順に連結されるため、keySet()メソッドやvalues()メソッドでキーや値の一覧を取得した場合、追加順を維持した一覧が取得できる。

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.util.LinkedHashMap;
import java.util.Set;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Collection;

public class Sample
{
    public static void main( String[] args )
    {
        // LinkedHashMapを作成します。
        LinkedHashMap linkedHashMap = new LinkedHashMap();
        // 要素を追加します。
        linkedHashMap.put( "キー0"new Integer( 0 ) );
        linkedHashMap.put( "キー1"new Integer( 1 ) );
        linkedHashMap.put( "キー2"new Integer( 2 ) );

        Set set = linkedHashMap.keySet();
        // 全部出力します。
        for( Iterator iter = set.iterator(); iter.hasNext();  )
        {
            String string = (String)iter.next();
            System.out.println( string );
        }
        // キー0
        // キー1
        // キー2

        Collection collection = linkedHashMap.values();
        // 全部出力します。
        for( Iterator iter = collection.iterator(); iter.hasNext();  )
        {
            Integer integer = (Integer)iter.next();
            System.out.println( integer );
        }
        // 0
        // 1
        // 2

        // このように、ちゃんと並んでいます。

        // ちなみにHashMapクラスを使用する場合。

        // HashMapを使用します。
        HashMap hashMap = new HashMap();
        // 要素を追加します。
        hashMap.put( "キー0"new Integer( 0 ) );
        hashMap.put( "キー1"new Integer( 1 ) );
        hashMap.put( "キー2"new Integer( 2 ) );

        set = hashMap.keySet();
        // 全部出力します。
        for( Iterator iter = set.iterator(); iter.hasNext();  )
        {
            String string = (String)iter.next();
            System.out.println( string );
        }
        // キー2
        // キー0
        // キー1

        collection = hashMap.values();
        // 全部出力します。
        for( Iterator iter = collection.iterator(); iter.hasNext();  )
        {
            Integer integer = (Integer)iter.next();
            System.out.println( integer );
        }
        // 2
        // 0
        // 1

        // このように、HashMapクラスの場合には並んでいません。
    }
}
// Sample.java
import java.util.LinkedHashMap;
import java.util.Set;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Collection;

public class Sample
{
    public static void main( String[] args )
    {
        // LinkedHashMapを作成します。
        LinkedHashMap linkedHashMap = new LinkedHashMap();
        // 要素を追加します。
        linkedHashMap.put( "キー0", new Integer( 0 ) );
        linkedHashMap.put( "キー1", new Integer( 1 ) );
        linkedHashMap.put( "キー2", new Integer( 2 ) );

        Set set = linkedHashMap.keySet();
        // 全部出力します。
        for( Iterator iter = set.iterator(); iter.hasNext();  )
        {
            String string = (String)iter.next();
            System.out.println( string );
        }
        // キー0
        // キー1
        // キー2

        Collection collection = linkedHashMap.values();
        // 全部出力します。
        for( Iterator iter = collection.iterator(); iter.hasNext();  )
        {
            Integer integer = (Integer)iter.next();
            System.out.println( integer );
        }
        // 0
        // 1
        // 2

        // このように、ちゃんと並んでいます。

        // ちなみにHashMapクラスを使用する場合。

        // HashMapを使用します。
        HashMap hashMap = new HashMap();
        // 要素を追加します。
        hashMap.put( "キー0", new Integer( 0 ) );
        hashMap.put( "キー1", new Integer( 1 ) );
        hashMap.put( "キー2", new Integer( 2 ) );

        set = hashMap.keySet();
        // 全部出力します。
        for( Iterator iter = set.iterator(); iter.hasNext();  )
        {
            String string = (String)iter.next();
            System.out.println( string );
        }
        // キー2
        // キー0
        // キー1

        collection = hashMap.values();
        // 全部出力します。
        for( Iterator iter = collection.iterator(); iter.hasNext();  )
        {
            Integer integer = (Integer)iter.next();
            System.out.println( integer );
        }
        // 2
        // 0
        // 1

        // このように、HashMapクラスの場合には並んでいません。
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/12/03
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。