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クラスの場合には並んでいません。 } }