org.seasar.util.collection
クラス ArrayMap<K,V>

java.lang.Object
  上位を拡張 java.util.AbstractMap<K,V>
      上位を拡張 org.seasar.util.collection.ArrayMap<K,V>
型パラメータ:
K - キーの型
V - 値の型
すべての実装されたインタフェース:
Externalizable, Serializable, Cloneable, Map<K,V>
直系の既知のサブクラス:
CaseInsensitiveMap

public class ArrayMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Externalizable

配列の性質を併せ持つ Mapです。

作成者:
higa
関連項目:
直列化された形式

入れ子のクラスの概要
protected  class ArrayMap.ArrayMapIterator
          ArrayMap用のIteratorです。
protected static class ArrayMap.Entry<K,V>
          ArrayMapArrayMap.Entryです。
 
クラス java.util.AbstractMap から継承された入れ子のクラス/インタフェース
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
フィールドの概要
protected  Set<? extends Map.Entry<K,V>> entrySet
          Setとしてのビュー
static int INITIAL_CAPACITY
          初期容量のデフォルト値
protected  ArrayMap.Entry<K,V>[] listTable
          配列としてのエントリ
static float LOAD_FACTOR
          負荷係数のデフォルト値
protected  ArrayMap.Entry<K,V>[] mapTable
          マップとしてのエントリ
protected  int size
          要素数
protected  int threshold
          負荷係数
 
コンストラクタの概要
ArrayMap()
          デフォルトの初期容量を持つインスタンスを構築します。
ArrayMap(int initialCapacity)
          指定された初期容量を持つインスタンスを構築します。
ArrayMap(Map<? extends K,? extends V> map)
          指定されたMapと同じマッピングでインスタンスを構築します。
 
メソッドの概要
 void clear()
           
 Object clone()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
protected  void ensureCapacity()
          サイズが閾値を超えた場合に容量を確保します。
protected  int entryIndexOf(ArrayMap.Entry<K,V> entry)
          エントリのインデックスを返します。
 Set<Map.Entry<K,V>> entrySet()
           
 boolean equals(Object o)
           
 V get(Object key)
           
 V getAt(int index)
          インデックスで指定された位置の値を返します。
 Map.Entry<K,V> getEntryAt(int index)
          インデックスで指定された位置のMap.Entryを返します。
 K getKeyAt(int index)
          インデックスで指定された位置のキーを返します。
 int hashCode()
           
 int indexOf(Object value)
          値に対するインデックスを返します。
 boolean isEmpty()
           
 V put(K key, V value)
           
 void putAll(Map<? extends K,? extends V> map)
           
 void readExternal(ObjectInput in)
           
 V remove(Object key)
           
 V removeAt(int index)
          インデックスで指定された位置のエントリを削除します。
protected  ArrayMap.Entry<K,V> removeList(int index)
          インデックスで指定されたエントリをリストのエントリから削除します。
protected  ArrayMap.Entry<K,V> removeMap(Object key)
          キーで指定されたエントリをマップのエントリから削除します。
 void setAt(int index, V value)
          インデックスで指定された位置に値を設定します。
 int size()
           
protected  V swapValue(ArrayMap.Entry<K,V> entry, V value)
          エントリの値を新しい値で置き換えます。
 Object[] toArray()
          配列に変換します。
 V[] toArray(V[] proto)
          配列に変換します。
 void writeExternal(ObjectOutput out)
           
 
クラス java.util.AbstractMap から継承されたメソッド
keySet, toString, values
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 
インタフェース java.util.Map から継承されたメソッド
keySet, values
 

フィールドの詳細

INITIAL_CAPACITY

public static final int INITIAL_CAPACITY
初期容量のデフォルト値

関連項目:
定数フィールド値

LOAD_FACTOR

public static final float LOAD_FACTOR
負荷係数のデフォルト値

関連項目:
定数フィールド値

threshold

protected transient int threshold
負荷係数


mapTable

protected transient ArrayMap.Entry<K,V>[] mapTable
マップとしてのエントリ


listTable

protected transient ArrayMap.Entry<K,V>[] listTable
配列としてのエントリ


size

protected transient int size
要素数


entrySet

protected transient Set<? extends Map.Entry<K,V>> entrySet
Setとしてのビュー

コンストラクタの詳細

ArrayMap

public ArrayMap()
デフォルトの初期容量を持つインスタンスを構築します。


ArrayMap

public ArrayMap(int initialCapacity)
指定された初期容量を持つインスタンスを構築します。

パラメータ:
initialCapacity - 初期容量

ArrayMap

public ArrayMap(Map<? extends K,? extends V> map)
指定されたMapと同じマッピングでインスタンスを構築します。

パラメータ:
map - マッピングがこのマップに配置されるマップ
メソッドの詳細

size

public int size()
定義:
インタフェース Map<K,V> 内の size
オーバーライド:
クラス AbstractMap<K,V> 内の size

isEmpty

public boolean isEmpty()
定義:
インタフェース Map<K,V> 内の isEmpty
オーバーライド:
クラス AbstractMap<K,V> 内の isEmpty

containsValue

public boolean containsValue(Object value)
定義:
インタフェース Map<K,V> 内の containsValue
オーバーライド:
クラス AbstractMap<K,V> 内の containsValue

indexOf

public int indexOf(Object value)
値に対するインデックスを返します。

パラメータ:
value - 値
戻り値:
値に対するインデックス。値が含まれていない場合は-1

containsKey

public boolean containsKey(Object key)
定義:
インタフェース Map<K,V> 内の containsKey
オーバーライド:
クラス AbstractMap<K,V> 内の containsKey

get

public V get(Object key)
定義:
インタフェース Map<K,V> 内の get
オーバーライド:
クラス AbstractMap<K,V> 内の get

getAt

public V getAt(int index)
インデックスで指定された位置の値を返します。

パラメータ:
index - インデックス
戻り値:
インデックスで指定された位置の値

getKeyAt

public K getKeyAt(int index)
インデックスで指定された位置のキーを返します。

パラメータ:
index - インデックス
戻り値:
インデックスで指定された位置のキー

getEntryAt

public Map.Entry<K,V> getEntryAt(int index)
インデックスで指定された位置のMap.Entryを返します。

パラメータ:
index - インデックス
戻り値:
インデックスで指定された位置のMap.Entry

put

public V put(K key,
             V value)
定義:
インタフェース Map<K,V> 内の put
オーバーライド:
クラス AbstractMap<K,V> 内の put

setAt

public void setAt(int index,
                  V value)
インデックスで指定された位置に値を設定します。

パラメータ:
index - インデックス
value - 値

remove

public V remove(Object key)
定義:
インタフェース Map<K,V> 内の remove
オーバーライド:
クラス AbstractMap<K,V> 内の remove

removeAt

public V removeAt(int index)
インデックスで指定された位置のエントリを削除します。

パラメータ:
index - インデックス
戻り値:
インデックスで指定された位置にあったエントリの値

putAll

public void putAll(Map<? extends K,? extends V> map)
定義:
インタフェース Map<K,V> 内の putAll
オーバーライド:
クラス AbstractMap<K,V> 内の putAll

clear

public void clear()
定義:
インタフェース Map<K,V> 内の clear
オーバーライド:
クラス AbstractMap<K,V> 内の clear

toArray

public Object[] toArray()
配列に変換します。

戻り値:
配列

toArray

public V[] toArray(V[] proto)
配列に変換します。

パラメータ:
proto - 要素の格納先の配列。配列のサイズが十分でない場合は、同じ実行時の型で新しい配列が格納用として割り当てられる
戻り値:
配列

equals

public boolean equals(Object o)
定義:
インタフェース Map<K,V> 内の equals
オーバーライド:
クラス AbstractMap<K,V> 内の equals

hashCode

public int hashCode()
定義:
インタフェース Map<K,V> 内の hashCode
オーバーライド:
クラス AbstractMap<K,V> 内の hashCode

entrySet

public Set<Map.Entry<K,V>> entrySet()
定義:
インタフェース Map<K,V> 内の entrySet
定義:
クラス AbstractMap<K,V> 内の entrySet

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
定義:
インタフェース Externalizable 内の writeExternal
例外:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
定義:
インタフェース Externalizable 内の readExternal
例外:
IOException
ClassNotFoundException

clone

public Object clone()
オーバーライド:
クラス AbstractMap<K,V> 内の clone

entryIndexOf

protected int entryIndexOf(ArrayMap.Entry<K,V> entry)
エントリのインデックスを返します。

パラメータ:
entry - エントリ
戻り値:
エントリのインデックス

removeMap

protected ArrayMap.Entry<K,V> removeMap(Object key)
キーで指定されたエントリをマップのエントリから削除します。

パラメータ:
key - キー
戻り値:
削除されたエントリ。キーに対応するエントリがなかった場合はnull

removeList

protected ArrayMap.Entry<K,V> removeList(int index)
インデックスで指定されたエントリをリストのエントリから削除します。

パラメータ:
index - 削除するエントリのインデックス
戻り値:
削除されたエントリ

ensureCapacity

protected void ensureCapacity()
サイズが閾値を超えた場合に容量を確保します。


swapValue

protected V swapValue(ArrayMap.Entry<K,V> entry,
                      V value)
エントリの値を新しい値で置き換えます。

パラメータ:
entry - エントリ
value - エントリの新しい値
戻り値:
エントリの置き換えられる前の値


Copyright © 2010-2012 The Seasar Foundation. All Rights Reserved.