LinkedHashMap
| 日本語 | 連結細切り地図 |
| 英語 | linked hash map |
| ふりがな | りんくとはっしゅまっぷ、りんくはっしゅまっぷ |
| フリガナ | リンクトハッシュマップ、リンクハッシュマップ |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.util.LinkedHashMap。
「追加順」を維持するHashMapクラス。
基本的にはHashMapクラスと同じ機能を持つ。
加えて、LinkedHashMapクラスは「追加順を維持する」という機能を持つ。
HashMapクラスは、追加時にキーのハッシュコードでグループ分けを行うため、キーと値の並びが追加順とはならない。
LinkedHashMapクラスは、LinkedListクラス同様「要素のリンク」という機能によって格納される。この時、追加順に連結されるため、keySet()メソッドやvalues()メソッドでキーや値の一覧を取得した場合、追加順を維持した一覧が取得できる。
「追加順」を維持するHashMapクラス。
基本的にはHashMapクラスと同じ機能を持つ。
加えて、LinkedHashMapクラスは「追加順を維持する」という機能を持つ。
HashMapクラスは、追加時にキーのハッシュコードでグループ分けを行うため、キーと値の並びが追加順とはならない。
LinkedHashMapクラスは、LinkedListクラス同様「要素のリンク」という機能によって格納される。この時、追加順に連結されるため、keySet()メソッドやvalues()メソッドでキーや値の一覧を取得した場合、追加順を維持した一覧が取得できる。
// 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クラスの場合には並んでいません。
}
}
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クラスの場合には並んでいません。
}
}




