|
Side of Software Dated Collections Library 2.0 |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectsos.dated.util.AbstractDatedObject<D>
sos.dated.util.AbstractDatedMap<K,V,D>
sos.dated.util.HashMapByKey<K,V,D>
K - the type of keys maintained by this dated mapV - the type of values maintained by this dated mapD - the type of dates used by this dated mappublic class HashMapByKey<K,V,D>
An implementation of DatedMap that indexes its keys with a
java.util.HashMap, yielding fast insertions and removals.
The following illustration shows a conceptual view of
a small HashMapByKey where the "dates" are integers, the keys are
characters, and the values are special characters:

[1,2): {(K,$),(B,+),(M,%)}
[3,5): {(K,+),(A,+),(B,$),(M,^)}
[5,6): {(K,#),(M,^)}
[6,9): {(K,#),(A,@),(B,%)}
This implementation is serializable and cloneable; however, it is not
synchronized. To use it safely in a multi-threaded situation, wrap an
instance of the dated map with a call to DatedCollections.synchronizedDatedMap.
HashMapByDate,
TreeMapByKey,
DatedMap,
DatedCollections.synchronizedDatedMap(DatedMap)| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface sos.dated.util.DatedMap |
|---|
DatedMap.Entry<K,V,D> |
| Constructor Summary | |
|---|---|
HashMapByKey()
Creates a new instance of HashMapByKey. |
|
HashMapByKey(DatedMap<? extends K,? extends V,D> datedMap)
Creates a new instance of HashMapByKey from the specified
dated map. |
|
HashMapByKey(int initialCapacity)
Creates a new instance of HashMapByKey with the specified initial capacity
and default load factor (0.75). |
|
HashMapByKey(int initialCapacity,
float loadFactor)
Creates a new instance of HashMapByKey with the specified initial capacity
and load factor. |
|
| Method Summary | |
|---|---|
protected void |
checkForComodification(int expectedModCount,
D date)
Throws a ConcurrentModificationException if the expected modification count does not equal the actual modification count for the specified date. |
java.lang.Object |
clone()
Creates and returns a shallow copy of this object. |
boolean |
containsKey(java.lang.Object key,
D at)
Returns true if this dated map contains the specified key at the
specified date. |
boolean |
containsKeyThroughout(java.lang.Object key,
D from,
D to)
Returns true if this dated map contains the specified key throughout
the specified date range. |
DateIterator<D> |
dateIterator(D at)
Returns an iterator of the date ranges of when this dated object has changed, starting at the range that contains the specified date. |
DatedSet<DatedMap.Entry<K,V,D>,D> |
entrySet()
Returns a modifiable view of the mappings of this dated map. |
boolean |
excludesKeyThroughout(java.lang.Object key,
D from,
D to)
Returns true if this dated map does not contain the specified key at any date
within the specified date range. |
DatedValue<V,D> |
get(java.lang.Object key)
Returns the values associated with the specified key for all dates. |
protected int |
modCount(D at)
Returns the modification count at the specified date. |
DatedValue<V,D> |
put(K key,
V value,
D from,
D to)
Associates key with value in this dated map during
the specified date range. |
DatedValue<V,D> |
remove(java.lang.Object key,
D from,
D to)
Removes any values associated with the specified key in the specified date range. |
protected void |
upModCount(D from,
D to)
Adds 1 to the modification count for the specified date range. |
| Methods inherited from class sos.dated.util.AbstractDatedMap |
|---|
clear, containsValue, containsValueThroughout, equals, excludesValueThroughout, get, hashCode, hasSizeThroughout, isEmpty, isEmptyThroughout, keySet, putAll, size, toString, values |
| Methods inherited from class sos.dated.util.AbstractDatedObject |
|---|
dateIterator, equals, hashCode, toString |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface sos.dated.util.DatedMap |
|---|
clear, containsKey, containsKeyThroughout, containsValue, containsValueThroughout, entrySet, equals, excludesKeyThroughout, excludesValueThroughout, get, get, hashCode, hasSizeThroughout, isEmpty, isEmptyThroughout, keySet, put, putAll, remove, size, values |
| Methods inherited from interface sos.dated.util.DatedObject |
|---|
dateIterator, dateIterator, equals, hashCode, toString |
| Constructor Detail |
|---|
public HashMapByKey()
HashMapByKey.
public HashMapByKey(int initialCapacity)
HashMapByKey with the specified initial capacity
and default load factor (0.75).
The initial capacity is used to initialize the underlying java.util.HashMap,
which holds all mappings across all time.
initialCapacity - initial capacity of the underlying hash map
java.lang.IllegalArgumentException - if initialCapacity < 0
public HashMapByKey(int initialCapacity,
float loadFactor)
HashMapByKey with the specified initial capacity
and load factor.
initialCapacity - initial capacity of the underlying hash maploadFactor - load factor of the underlying hash map
java.lang.IllegalArgumentException - if initialCapacity < 0 or
if loadFactor <= 0.0public HashMapByKey(DatedMap<? extends K,? extends V,D> datedMap)
HashMapByKey from the specified
dated map.
datedMap - dated map for which to initialize this HashMapByKey
java.lang.NullPointerException - if the parameter is null| Method Detail |
|---|
public java.lang.Object clone()
protected void checkForComodification(int expectedModCount,
D date)
expectedModCount - the caller's expected modification countdate - the date in question
java.util.ConcurrentModificationException - if the expected modification
count does not equal the actual modification count for the specified date
public boolean containsKey(java.lang.Object key,
D at)
true if this dated map contains the specified key at the
specified date.
containsKey in interface DatedMap<K,V,D>containsKey in class AbstractDatedMap<K,V,D>key - key whose presence is to be testedat - date at which this map is to be queried
true if this dated map contains the specified key at the
specified date
java.lang.NullPointerException - if at is null
public boolean containsKeyThroughout(java.lang.Object key,
D from,
D to)
true if this dated map contains the specified key throughout
the specified date range.
containsKeyThroughout in interface DatedMap<K,V,D>containsKeyThroughout in class AbstractDatedMap<K,V,D>key - key whose presence is to be testedfrom - starting date (inclusive) at which containment should be testedto - ending date (exclusive) at which containment should be tested
true if this dated map contains the specified key
throughout the specified date range
java.lang.IllegalArgumentException - if from does not precede to
java.lang.NullPointerException - if from or to is nullpublic DateIterator<D> dateIterator(D at)
DatedObjectnextFrom returns the
same date as previousTo.
Passing null as the argument will return an iterator positioned
at the beginning of the sequence.
dateIterator in interface DatedObject<D>dateIterator in class AbstractDatedObject<D>at - date to position the iteration
public boolean excludesKeyThroughout(java.lang.Object key,
D from,
D to)
true if this dated map does not contain the specified key at any date
within the specified date range.
excludesKeyThroughout in interface DatedMap<K,V,D>excludesKeyThroughout in class AbstractDatedMap<K,V,D>key - key whose presence is to be testedfrom - starting date (inclusive) at which exclusion should be testedto - ending date (exclusive) at which exclusion should be tested
true if this dated map does not contain key key
between from and to
java.lang.IllegalArgumentException - if from does not precede to
java.lang.NullPointerException - if if from or to is nullpublic DatedValue<V,D> get(java.lang.Object key)
get in interface DatedMap<K,V,D>get in class AbstractDatedMap<K,V,D>key - key whose values are to be returned
keyprotected int modCount(D at)
at. If assertions are not enabled, the returned
value is always zero.
at - date to request the modification count
public DatedValue<V,D> put(K key,
V value,
D from,
D to)
key with value in this dated map during
the specified date range.
put in interface DatedMap<K,V,D>put in class AbstractDatedMap<K,V,D>key - key to put in this dated mapvalue - value to map to the keyfrom - starting date (inclusive) at which to put the mappingto - ending date (exclusive) at which to put the mapping
java.lang.IllegalArgumentException - if from does not precede to
java.lang.NullPointerException - if from or to is null
protected void upModCount(D from,
D to)
from - starting date (inclusive) for which to increment the countto - ending date (exclusive) for which to increment the countpublic DatedSet<DatedMap.Entry<K,V,D>,D> entrySet()
entrySet in interface DatedMap<K,V,D>entrySet in class AbstractDatedMap<K,V,D>
public DatedValue<V,D> remove(java.lang.Object key,
D from,
D to)
remove in interface DatedMap<K,V,D>remove in class AbstractDatedMap<K,V,D>key - key indicating which mapping to removefrom - starting date (inclusive) at which to remove the mappingto - ending date (exclusive) at which to remove the mapping
java.lang.IllegalArgumentException - if from does not precede to
java.lang.NullPointerException - if from or to is null
|
Side of Software Dated Collections Library 2.0 |
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||