Package com.jalios.util
Class ObjectIntTreeMap
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.TreeMap
-
- com.jalios.util.ObjectIntTreeMap
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.util.Map,java.util.NavigableMap,java.util.SortedMap
public class ObjectIntTreeMap extends java.util.TreeMapThis class is a map which binds key Object to int value.This class is NOT thread safe, synchronize read and write operation when used in multi-threaded context if you really need features provided by this collection.
In multithreaded context, it may be wiser to use alternative thread safe and type safe collection such asConcurrentHashMap<YourType, Integer>.- Author:
- Olivier Dedieu
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classObjectIntTreeMap.GreaterComparatorA Comparator that sort TreeMap of ObjectIntTreeMap by Max Valueprotected static classObjectIntTreeMap.KeyComparatorA Comparator that sort TreeMap of ObjectIntTreeMap by Key Valueprotected static classObjectIntTreeMap.LowerComparatorA Comparator that sort TreeMap of ObjectIntTreeMap by Min Valuestatic classObjectIntTreeMap.ObjectComparatorA Comparator that allow ObjectyIntTreeMap to sort multiple kind of Objectprotected static classObjectIntTreeMap.SortedKeyComparatorA Comparator that sort TreeMap of ObjectIntTreeMap by Key Value sorted using a sorted List
-
Constructor Summary
Constructors Constructor Description ObjectIntTreeMap()Default convenient constructorObjectIntTreeMap(ObjectIntTreeMap oitm)A constructor working with a comparatorObjectIntTreeMap(java.util.Comparator c)A constructor working with a comparator
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetAverage()Return the Average value of the Map or 0 if Map is EmptyintgetAverage(int level)Return the Average value of the Map or 0 if Map is EmptyintgetAverageCount()Return the Average value of the Map or 0 if Map is EmptyintgetAverageCount(int level)Return the Average value of the Map or 0 if Map is EmptyintgetAverageCount(int level, int deep)Return the Average value of the Map or 0 if Map is EmptyintgetAverageSum()This method sum all average at level N-1ObjectIntTreeMapgetConsolidatedMap(int level)This method return an ObjectIntTreeMap consolidated at a given level.protected ObjectIntTreeMapgetConsolidatedMap(int level, ObjectIntTreeMap workingMap)intgetCount()Return the Count value of the Map or Integer.MIN_VALUE if Map is EmptyintgetCount(int level)Return the Count value of the Map or 0 if Map is EmptyintgetCount(int level, int boundary)Return the Count value of the Map or 0 if Map is EmptyintgetCount(int level, int boundary, int single)Return the Count value of the Map or 0 if Map is Emptystatic java.util.ComparatorgetGreaterComparator()Sort ObjectIntTreeMap from larger to smallerintgetInt(java.lang.Object key, int defaultValue)Returns the value to which this map maps the specified key.static java.util.ComparatorgetLowerComparator()Sort ObjectIntTreeMap from smaller to largerintgetMax()Return the Max value of the Map or Integer.MIN_VALUE if Map is EmptyintgetMax(int level)Return the Max value of the Map or Integer.MIN_VALUE if Map is EmptyintgetMaxCount()Return the Max size value of the Map or Integer.MIN_VALUE if Map is EmptyintgetMaxCount(int level)Return the Max value of the Map or Integer.MIN_VALUE if Map is EmptyintgetMaxCount(int level, int deep)Return the Max size value of the Map or Integer.MIN_VALUE if Map is Empty Map A > Map B > Map C level: 0 deep : 1 will count min C between AintgetMin()Return the Min value of the Map or Integer.MAX_VALUE if Map is EmptyintgetMin(int level)Return the Min value of the Map or Integer.MAX_VALUE if Map is EmptyintgetMinCount()Return the Min size value of the Map or Integer.MAX_VALUE if Map is EmptyintgetMinCount(int level)Return the Min value of the Map or Integer.MAX_VALUE if Map is EmptyintgetMinCount(int level, int deep)Return the Min size value of the Map or Integer.MAX_VALUE if Map is Emptystatic java.util.ComparatorgetSortedKeyComparator(java.lang.String[] sort)Sort ObjectIntTreeMap ordered by a predifined Liststatic java.util.ComparatorgetSortedKeyComparator(java.util.List sort)Sort ObjectIntTreeMap ordered by a predifined Liststatic java.util.SortedSetgetSortedMapEntrySet(java.util.Map map, java.util.Comparator comparator)This method return a Sorted Set of Map.EntryintgetSum()Return the Sum value of the Map or 0 if Map is EmptyintgetSum(int level, java.lang.String key)Return the sum of a given key at a given levelintgetSum(int level, java.util.Set keySet, java.util.Map map)Return the sum of given keys at a given levelvoidinc(java.lang.Object key)Increments the value associated with the specified key.voidinc(java.lang.Object key, int quantity)Incremente the value associated with the specified key.voidinc(java.lang.String key, ObjectIntTreeMap map)Increments the value associated with the specified key.voidincAll(ObjectIntTreeMap map)Incremente all the values of the specified ObjectIntTreeMap.booleanisMultiMap()Return true if the ObjectIntTreeMap contains ObjectIntTreeMap Return false if the ObjectIntTreeMap contains int[]voidput(java.lang.Object key, int value)Associates the specified value with the specified key in this map.java.lang.StringtoString()Special implementation of toString()-
Methods inherited from class java.util.TreeMap
ceilingEntry, ceilingKey, clear, clone, comparator, containsKey, containsValue, descendingKeySet, descendingMap, entrySet, firstEntry, firstKey, floorEntry, floorKey, forEach, get, headMap, headMap, higherEntry, higherKey, keySet, lastEntry, lastKey, lowerEntry, lowerKey, navigableKeySet, pollFirstEntry, pollLastEntry, put, putAll, remove, replace, replace, replaceAll, size, subMap, subMap, tailMap, tailMap, values
-
-
-
-
Constructor Detail
-
ObjectIntTreeMap
public ObjectIntTreeMap()
Default convenient constructor
-
ObjectIntTreeMap
public ObjectIntTreeMap(java.util.Comparator c)
A constructor working with a comparator- Parameters:
c- the Comparator
-
ObjectIntTreeMap
public ObjectIntTreeMap(ObjectIntTreeMap oitm)
A constructor working with a comparator- Parameters:
oitm- the Comparator
-
-
Method Detail
-
put
public void put(java.lang.Object key, int value)Associates the specified value with the specified key in this map. If the map previously contained a mapping for this key, the old value is replaced.- Parameters:
key- key with which the specified value is to be associated.value- value to be associated with the specified key.
-
inc
public void inc(java.lang.Object key, int quantity)Incremente the value associated with the specified key. If this key did not exist, it is created and the value is set to quantity.- Parameters:
key- key for which the specified value must be incremented.quantity- the quantity to increment
-
incAll
public void incAll(ObjectIntTreeMap map)
Incremente all the values of the specified ObjectIntTreeMap. If a key did not exist, it is created and the value is set to quantity. If the value is an ObjectIntTreeMap the job is done recursively.- Parameters:
map- ObjectIntTreeMap to work with
-
inc
public void inc(java.lang.String key, ObjectIntTreeMap map)Increments the value associated with the specified key. If this key did not exist, it is create.- Parameters:
key- key for which the specified value must be incremented.map- the ObjectIntTreeMap to inc with
-
inc
public void inc(java.lang.Object key)
Increments the value associated with the specified key. If this key did not exist, it is created and the value is set to '1'.- Parameters:
key- key for which the specified value must be incremented.
-
getInt
public int getInt(java.lang.Object key, int defaultValue)Returns the value to which this map maps the specified key. ReturnsdefaultValueif the map contains no mapping for this key.- Parameters:
key- key whose associated value is to be returned.defaultValue- value to return if the map contains no mapping for this key.- Returns:
- the value to which this map maps the specified key, or
defaultValueif the map contains no mapping for this key.
-
getAverage
public int getAverage(int level)
Return the Average value of the Map or 0 if Map is Empty- Parameters:
level- the max depth of Maps- Returns:
- int the level
- Since:
- jcms-4.2
-
getAverage
public int getAverage()
Return the Average value of the Map or 0 if Map is Empty- Since:
- jcms-4.2
-
getAverageCount
public int getAverageCount(int level)
Return the Average value of the Map or 0 if Map is Empty- Parameters:
level- the max depth of Maps- Returns:
- int the level
- Since:
- jcms-5.0.3
-
getAverageCount
public int getAverageCount(int level, int deep)Return the Average value of the Map or 0 if Map is Empty- Parameters:
level- the max depth of Mapsdeep- the level to count- Returns:
- int the level
- Since:
- jcms-5.0.3
-
getAverageCount
public int getAverageCount()
Return the Average value of the Map or 0 if Map is Empty- Since:
- jcms-5.0.3
-
getCount
public int getCount(int level, int boundary)Return the Count value of the Map or 0 if Map is Empty- Parameters:
level- the count depth of Mapsboundary- the max value to return- Returns:
- int the count
- Since:
- jcms-5.0.2
-
getCount
public int getCount(int level, int boundary, int single)Return the Count value of the Map or 0 if Map is Empty- Parameters:
level- the count depth of Mapsboundary- the max value to returnsingle- the level where to get single content (remove duplicate)- Returns:
- int the count
- Since:
- jcms-5.0.2
-
getCount
public int getCount(int level)
Return the Count value of the Map or 0 if Map is Empty- Parameters:
level- the count depth of Maps- Returns:
- int the count
- Since:
- jcms-4.2
-
getCount
public int getCount()
Return the Count value of the Map or Integer.MIN_VALUE if Map is Empty- Returns:
- int the count
- Since:
- jcms-4.2
-
getSum
public int getSum()
Return the Sum value of the Map or 0 if Map is Empty- Returns:
- int the sum
- Since:
- jcms-4.2
-
getSum
public int getSum(int level, java.lang.String key)Return the sum of a given key at a given level- Parameters:
level- the working levelkey- the working key- Returns:
- int the sum
-
getSum
public int getSum(int level, java.util.Set keySet, java.util.Map map)Return the sum of given keys at a given level- Parameters:
level- the working levelkeySet- the working keymap- the working map- Returns:
- int the sum
-
getAverageSum
public int getAverageSum()
This method sum all average at level N-1- Returns:
- int the sum of average
-
getMax
public int getMax(int level)
Return the Max value of the Map or Integer.MIN_VALUE if Map is Empty- Parameters:
level- the max depth of Maps- Returns:
- int the max
- Since:
- jcms-4.2
-
isMultiMap
public boolean isMultiMap()
Return true if the ObjectIntTreeMap contains ObjectIntTreeMap Return false if the ObjectIntTreeMap contains int[]- Returns:
- boolean
-
getMax
public int getMax()
Return the Max value of the Map or Integer.MIN_VALUE if Map is Empty- Returns:
- int the max
- Since:
- jcms-4.2
-
getMaxCount
public int getMaxCount(int level)
Return the Max value of the Map or Integer.MIN_VALUE if Map is Empty- Parameters:
level- the max depth of Maps- Returns:
- int the max
- Since:
- jcms-5.0.3
-
getMaxCount
public int getMaxCount(int level, int deep)Return the Max size value of the Map or Integer.MIN_VALUE if Map is Empty Map A > Map B > Map C level: 0 deep : 1 will count min C between A- Parameters:
level- the max depth of Mapsdeep- the depth to count on- Returns:
- int the max
- Since:
- jcms-5.0.3
-
getMaxCount
public int getMaxCount()
Return the Max size value of the Map or Integer.MIN_VALUE if Map is Empty- Since:
- jcms-5.0.3
-
getMin
public int getMin(int level)
Return the Min value of the Map or Integer.MAX_VALUE if Map is Empty- Parameters:
level- the max depth of Maps- Returns:
- int the min
- Since:
- jcms-4.2
-
getMin
public int getMin()
Return the Min value of the Map or Integer.MAX_VALUE if Map is Empty- Returns:
- int the min
- Since:
- jcms-4.2
-
getMinCount
public int getMinCount(int level)
Return the Min value of the Map or Integer.MAX_VALUE if Map is Empty- Parameters:
level- the max depth of Maps- Returns:
- int the min
- Since:
- jcms-5.0.3
-
getMinCount
public int getMinCount(int level, int deep)Return the Min size value of the Map or Integer.MAX_VALUE if Map is Empty- Parameters:
level-- Returns:
- int the min count
- Since:
- jcms-5.0.3
-
getMinCount
public int getMinCount()
Return the Min size value of the Map or Integer.MAX_VALUE if Map is Empty- Returns:
- int the min count
- Since:
- jcms-5.0.3
-
getSortedMapEntrySet
public static java.util.SortedSet getSortedMapEntrySet(java.util.Map map, java.util.Comparator comparator)This method return a Sorted Set of Map.Entry- Parameters:
map- a TreeMap that is an ObjectIntTreeMap or composed by ObjectIntTreeMap.comparator- the comparator to sort objects.- Returns:
- SortedSet of Map.Entry
- Since:
- jcms-4.2
-
getConsolidatedMap
protected ObjectIntTreeMap getConsolidatedMap(int level, ObjectIntTreeMap workingMap)
- Parameters:
level- the map level to consolidateworkingMap- the map to work with- Returns:
- an ObjectIntTreeMap
- See Also:
getConsolidatedMap(int)
-
getConsolidatedMap
public ObjectIntTreeMap getConsolidatedMap(int level)
This method return an ObjectIntTreeMap consolidated at a given level. [Key1 , Key2 , Key3, Key4] [Key2.1, Key2.2, Key2.3, Key2.4] [Key2.2.1, Key2.2.2, Key2.2.3, Key2.2.4] [Val2.2.1, Val2.2.1, Val2.2.1, Val2.2.1] With level=1, this method return a new Map with values of Keyx.y replaced by consolidated values of keys Keyx.y.z- Parameters:
level- the map level to consolidate- Returns:
- an ObjectIntTreeMap
-
toString
public java.lang.String toString()
Special implementation of toString()- Overrides:
toStringin classjava.util.AbstractMap
-
getGreaterComparator
public static java.util.Comparator getGreaterComparator()
Sort ObjectIntTreeMap from larger to smaller
-
getLowerComparator
public static java.util.Comparator getLowerComparator()
Sort ObjectIntTreeMap from smaller to larger
-
getSortedKeyComparator
public static java.util.Comparator getSortedKeyComparator(java.util.List sort)
Sort ObjectIntTreeMap ordered by a predifined List
-
getSortedKeyComparator
public static java.util.Comparator getSortedKeyComparator(java.lang.String[] sort)
Sort ObjectIntTreeMap ordered by a predifined List
-
-