org.apache.commons.collections
クラス LRUMap

java.lang.Object
  |
  +--java.util.AbstractMap
        |
        +--java.util.HashMap
              |
              +--org.apache.commons.collections.LRUMap
すべての実装インタフェース:
java.lang.Cloneable, java.io.Externalizable, java.util.Map, java.io.Serializable

public class LRUMap
extends java.util.HashMap
implements java.io.Externalizable

An implementation of a Map which has a maximum size and uses a Least Recently Used algorithm to remove items from the Map when the maximum size is reached and new items are added.

This implementation uses a simple bubbling algorithm, whereby every random access get() method call bubbles the item up the list, further away from the 'drop zone'.

A synchronized version can be obtained with: Collections.synchronizedMap( theMapToSynchronize )

WARNING the values() and entrySet() methods require optimisation like the standard HashMap implementations so that iteration over this Map is efficient.

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

クラス java.util.Map から継承した内部クラス
java.util.Map.Entry
 
コンストラクタの概要
LRUMap()
           
LRUMap(int i)
           
 
メソッドの概要
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Set entrySet()
           
 java.lang.Object get(java.lang.Object key)
           
 int getMaximumSize()
          Getter for property maximumSize.
 java.util.Set keySet()
           
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
           
 void readExternal(java.io.ObjectInput in)
           
 java.lang.Object remove(java.lang.Object key)
           
 java.lang.Object removeLRU()
          Removes the least recently used object from the Map.
 void setMaximumSize(int maximumSize)
          Setter for property maximumSize.
 java.util.Collection values()
           
 void writeExternal(java.io.ObjectOutput out)
           
 
クラス java.util.HashMap から継承したメソッド
clear, clone, isEmpty, putAll, size
 
クラス java.util.AbstractMap から継承したメソッド
equals, hashCode, toString
 
クラス java.lang.Object から継承したメソッド
getClass, notify, notifyAll, wait, wait, wait
 
インタフェース java.util.Map から継承したメソッド
equals, hashCode
 

コンストラクタの詳細

LRUMap

public LRUMap()

LRUMap

public LRUMap(int i)
メソッドの詳細

containsKey

public boolean containsKey(java.lang.Object key)
オーバーライド:
クラス java.util.HashMap 内の containsKey

containsValue

public boolean containsValue(java.lang.Object value)
オーバーライド:
クラス java.util.HashMap 内の containsValue

entrySet

public java.util.Set entrySet()
オーバーライド:
クラス java.util.HashMap 内の entrySet

get

public java.lang.Object get(java.lang.Object key)
オーバーライド:
クラス java.util.HashMap 内の get

getMaximumSize

public int getMaximumSize()
Getter for property maximumSize.
戻り値:
Value of property maximumSize.

keySet

public java.util.Set keySet()
オーバーライド:
クラス java.util.HashMap 内の keySet

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
オーバーライド:
クラス java.util.HashMap 内の put

readExternal

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

remove

public java.lang.Object remove(java.lang.Object key)
オーバーライド:
クラス java.util.HashMap 内の remove

removeLRU

public java.lang.Object removeLRU()
Removes the least recently used object from the Map.
戻り値:
the key of the removed item

setMaximumSize

public void setMaximumSize(int maximumSize)
Setter for property maximumSize.
パラメータ:
maximumSize - New value of property maximumSize.

values

public java.util.Collection values()
オーバーライド:
クラス java.util.HashMap 内の values

writeExternal

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


Copyright © 2001 Apache Software Foundation. Documenation generated November 5 2001.