Class SortedMapAdapter<K,V>
- java.lang.Object
-
- org.eclipse.collections.impl.AbstractRichIterable<V>
-
- org.eclipse.collections.impl.map.AbstractMapIterable<K,V>
-
- org.eclipse.collections.impl.map.mutable.AbstractMutableMapIterable<K,V>
-
- org.eclipse.collections.impl.map.sorted.mutable.AbstractMutableSortedMap<K,V>
-
- org.eclipse.collections.impl.map.sorted.mutable.SortedMapAdapter<K,V>
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.lang.Iterable<V>
,java.util.Map<K,V>
,java.util.SortedMap<K,V>
,InternalIterable<V>
,MapIterable<K,V>
,MutableMapIterable<K,V>
,MutableSortedMap<K,V>
,SortedMapIterable<K,V>
,OrderedIterable<V>
,ReversibleIterable<V>
,RichIterable<V>
public class SortedMapAdapter<K,V> extends AbstractMutableSortedMap<K,V> implements java.io.Serializable
This class provides a MutableSortedMap wrapper around a JDK Collections SortedMap interface instance. All the MutableSortedMap interface methods are supported in addition to the JDK SortedMap interface methods.To create a new wrapper around an existing SortedMap instance, use the
adapt(SortedMap)
factory method.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.SortedMap<K,V>
delegate
private static long
serialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description protected
SortedMapAdapter(java.util.SortedMap<K,V> newDelegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <K,V>
MutableSortedMap<K,V>adapt(java.util.SortedMap<K,V> map)
void
clear()
MutableSortedMap<K,V>
clone()
java.util.Comparator<? super K>
comparator()
boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
MutableList<V>
distinct()
Returns a newOrderedIterable
containing the distinct elements in this iterable.MutableSortedMap<K,V>
drop(int count)
Returns an iterable after skipping the firstcount
elements or an empty iterable if thecount
is greater than the length of the iterable.MutableSortedMap<K,V>
dropWhile(Predicate<? super V> predicate)
Returns the final elements that do not satisfy the Predicate.MutableSet<java.util.Map.Entry<K,V>>
entrySet()
boolean
equals(java.lang.Object o)
Follows the same general contract asMap.equals(Object)
.K
firstKey()
void
forEachKeyValue(Procedure2<? super K,? super V> procedure)
Calls theprocedure
with each key-value pair of the map.V
get(java.lang.Object key)
int
hashCode()
Follows the same general contract asMap.hashCode()
.MutableSortedMap<K,V>
headMap(K toKey)
boolean
isEmpty()
Returns true if this iterable has zero items.java.util.Iterator<V>
iterator()
MutableSet<K>
keySet()
The underlying set for the keys is sorted in ascending order according to their natural ordering or a custom comparator.K
lastKey()
MutableSortedMap<K,V>
newEmpty()
Deprecated.useTreeSortedMap.newEmpty()
instead (inlineable)PartitionMutableList<V>
partitionWhile(Predicate<? super V> predicate)
Returns a Partition of the initial elements that satisfy the Predicate and the remaining elements.V
put(K key, V value)
void
putAll(java.util.Map<? extends K,? extends V> map)
V
remove(java.lang.Object key)
V
removeKey(K key)
Remove an entry from the map at the specifiedkey
.int
size()
Returns the number of items in this iterable.MutableSortedMap<K,V>
subMap(K fromKey, K toKey)
MutableSortedMap<K,V>
tailMap(K fromKey)
MutableSortedMap<K,V>
take(int count)
Returns the firstcount
elements of the iterable or all the elements in the iterable ifcount
is greater than the length of the iterable.MutableSortedMap<K,V>
takeWhile(Predicate<? super V> predicate)
Returns the initial elements that satisfy the Predicate.MutableSortedMap<K,V>
toReversed()
Returns a new ReversibleIterable in reverse order.java.lang.String
toString()
Returns a string with the elements of the iterable separated by commas with spaces and enclosed in square brackets.MutableCollection<V>
values()
MutableSortedMap<K,V>
with(Pair<K,V>... pairs)
-
Methods inherited from class org.eclipse.collections.impl.map.sorted.mutable.AbstractMutableSortedMap
asReversed, asSynchronized, asUnmodifiable, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectKeysAndValues, collectLong, collectShort, collectValues, collectWith, corresponds, detectIndex, detectLastIndex, flatCollect, flip, forEach, forEachWithIndex, groupBy, groupByEach, groupByUniqueKey, indexOf, partition, partitionWith, reject, reject, rejectWith, select, select, selectInstancesOf, selectWith, tap, toImmutable, toStack, withAllKeyValueArguments, withAllKeyValues, withKeyValue, withoutAllKeys, withoutKey, zip, zipWithIndex
-
Methods inherited from class org.eclipse.collections.impl.map.mutable.AbstractMutableMapIterable
aggregateBy, collect, countBy, countByEach, countByWith, detect, detectOptional, flipUniqueValues, getIfAbsentPut, getIfAbsentPut, getIfAbsentPutWith, getIfAbsentPutWithKey, keysView, keyValuesView, sumByDouble, sumByFloat, sumByInt, sumByLong, updateValue, updateValueWith, valuesView
-
Methods inherited from class org.eclipse.collections.impl.map.AbstractMapIterable
allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, asLazy, chunk, contains, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, forEachKey, forEachValue, forEachWith, forEachWithIndex, getFirst, getIfAbsent, getIfAbsentValue, getIfAbsentWith, getLast, getOnly, getOrDefault, ifPresentApply, isAbsent, keyAndValueEquals, keyAndValueHashCode, noneSatisfy, noneSatisfyWith, toArray, toArray
-
Methods inherited from class org.eclipse.collections.impl.AbstractRichIterable
appendString, appendString, collect, collectIf, collectWith, containsAll, containsAllArguments, containsAllIterable, count, countWith, flatCollect, forEach, groupBy, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, into, max, max, maxBy, min, min, minBy, reject, rejectWith, select, selectWith, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toBag, toBiMap, toList, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, zip, zipWithIndex
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach, forEachWith
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Methods inherited from interface org.eclipse.collections.api.map.MapIterable
detect, detectOptional, forEachKey, forEachValue, getIfAbsent, getIfAbsentValue, getIfAbsentWith, ifPresentApply, injectIntoKeyValue, keysView, keyValuesView, parallelStream, spliterator, stream, valuesView
-
Methods inherited from interface org.eclipse.collections.api.map.MutableMapIterable
add, aggregateBy, aggregateBy, aggregateInPlaceBy, countBy, countByEach, countByWith, flipUniqueValues, getIfAbsentPut, getIfAbsentPut, getIfAbsentPutWithKey, getOrDefault, putAllMapIterable, putPair, removeAllKeys, removeIf, sumByDouble, sumByFloat, sumByInt, sumByLong, updateValue, updateValueWith
-
Methods inherited from interface org.eclipse.collections.api.map.sorted.MutableSortedMap
collect, collectWithIndex, flatCollectWith, getIfAbsentPutWith, withMap, withMapIterable
-
Methods inherited from interface org.eclipse.collections.api.ordered.OrderedIterable
collectWithIndex, forEachWithIndex, getFirst, getFirstOptional, getLast, getLastOptional, max, min, rejectWithIndex, selectWithIndex, zip, zipWithIndex
-
Methods inherited from interface org.eclipse.collections.api.ordered.ReversibleIterable
reverseForEach, reverseForEachWithIndex
-
Methods inherited from interface org.eclipse.collections.api.RichIterable
aggregateBy, allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, asLazy, chunk, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, containsAny, containsAnyIterable, containsBy, containsNone, containsNoneIterable, count, countBy, countByEach, countByWith, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, flatCollectWith, forEach, getAny, getOnly, groupBy, groupByAndCollect, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, into, makeString, makeString, makeString, makeString, max, maxBy, maxByOptional, maxOptional, maxOptional, min, minBy, minByOptional, minOptional, minOptional, noneSatisfy, noneSatisfyWith, notEmpty, reduce, reduceInPlace, reduceInPlace, reject, rejectWith, select, selectWith, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toBiMap, toImmutableBag, toImmutableBiMap, toImmutableList, toImmutableMap, toImmutableSet, toImmutableSortedBag, toImmutableSortedBag, toImmutableSortedBagBy, toImmutableSortedList, toImmutableSortedList, toImmutableSortedListBy, toImmutableSortedSet, toImmutableSortedSet, toImmutableSortedSetBy, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
-
Method Detail
-
adapt
public static <K,V> MutableSortedMap<K,V> adapt(java.util.SortedMap<K,V> map)
-
forEachKeyValue
public void forEachKeyValue(Procedure2<? super K,? super V> procedure)
Description copied from interface:MapIterable
Calls theprocedure
with each key-value pair of the map.final Collection<String> collection = new ArrayList<String>(); MutableMap<Integer, String> map = this.newMapWithKeysValues(1, "One", 2, "Two", 3, "Three"); map.forEachKeyValue((Integer key, String value) -> collection.add(String.valueOf(key) + value)); Verify.assertContainsAll(collection, "1One", "2Two", "3Three");
- Specified by:
forEachKeyValue
in interfaceMapIterable<K,V>
-
newEmpty
@Deprecated public MutableSortedMap<K,V> newEmpty()
Deprecated.useTreeSortedMap.newEmpty()
instead (inlineable)Description copied from interface:MutableSortedMap
Creates a new instance of the same type with the same internal Comparator.- Specified by:
newEmpty
in interfaceMutableMapIterable<K,V>
- Specified by:
newEmpty
in interfaceMutableSortedMap<K,V>
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey
in interfacejava.util.Map<K,V>
- Specified by:
containsKey
in interfaceMapIterable<K,V>
- See Also:
Map.containsKey(Object)
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interfacejava.util.Map<K,V>
- Specified by:
containsValue
in interfaceMapIterable<K,V>
- See Also:
Map.containsValue(Object)
-
comparator
public java.util.Comparator<? super K> comparator()
- Specified by:
comparator
in interfacejava.util.SortedMap<K,V>
- Specified by:
comparator
in interfaceSortedMapIterable<K,V>
-
size
public int size()
Description copied from interface:RichIterable
Returns the number of items in this iterable.- Specified by:
size
in interfacejava.util.Map<K,V>
- Specified by:
size
in interfaceRichIterable<K>
-
isEmpty
public boolean isEmpty()
Description copied from interface:RichIterable
Returns true if this iterable has zero items.- Specified by:
isEmpty
in interfacejava.util.Map<K,V>
- Specified by:
isEmpty
in interfaceRichIterable<K>
- Overrides:
isEmpty
in classAbstractRichIterable<V>
-
iterator
public java.util.Iterator<V> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<K>
- Overrides:
iterator
in classAbstractMutableMapIterable<K,V>
-
values
public MutableCollection<V> values()
-
entrySet
public MutableSet<java.util.Map.Entry<K,V>> entrySet()
-
keySet
public MutableSet<K> keySet()
Description copied from interface:MutableSortedMap
The underlying set for the keys is sorted in ascending order according to their natural ordering or a custom comparator. However, Java 5 TreeMap returns a keySet that does not inherit from SortedSet therefore we have decided to return the keySet simply as a MutableSet to maintain Java 5 compatibility.
-
headMap
public MutableSortedMap<K,V> headMap(K toKey)
-
tailMap
public MutableSortedMap<K,V> tailMap(K fromKey)
-
subMap
public MutableSortedMap<K,V> subMap(K fromKey, K toKey)
-
get
public V get(java.lang.Object key)
-
removeKey
public V removeKey(K key)
Description copied from interface:MutableMapIterable
Remove an entry from the map at the specifiedkey
.- Specified by:
removeKey
in interfaceMutableMapIterable<K,V>
- Returns:
- The value removed from entry at key, or null if not found.
- See Also:
Map.remove(Object)
-
with
public MutableSortedMap<K,V> with(Pair<K,V>... pairs)
- Specified by:
with
in interfaceMutableSortedMap<K,V>
-
toString
public java.lang.String toString()
Description copied from class:AbstractRichIterable
Returns a string with the elements of the iterable separated by commas with spaces and enclosed in square brackets.Assert.assertEquals("[]", Lists.mutable.empty().toString()); Assert.assertEquals("[1]", Lists.mutable.with(1).toString()); Assert.assertEquals("[1, 2, 3]", Lists.mutable.with(1, 2, 3).toString());
- Specified by:
toString
in interfaceMapIterable<K,V>
- Specified by:
toString
in interfaceRichIterable<K>
- Overrides:
toString
in classAbstractRichIterable<V>
- Returns:
- a string representation of this collection.
- See Also:
AbstractCollection.toString()
-
clone
public MutableSortedMap<K,V> clone()
- Specified by:
clone
in interfaceMutableSortedMap<K,V>
- Specified by:
clone
in classAbstractMutableSortedMap<K,V>
-
equals
public boolean equals(java.lang.Object o)
Description copied from interface:MapIterable
Follows the same general contract asMap.equals(Object)
.
-
hashCode
public int hashCode()
Description copied from interface:MapIterable
Follows the same general contract asMap.hashCode()
.
-
toReversed
public MutableSortedMap<K,V> toReversed()
Description copied from interface:ReversibleIterable
Returns a new ReversibleIterable in reverse order.- Specified by:
toReversed
in interfaceMutableSortedMap<K,V>
- Specified by:
toReversed
in interfaceReversibleIterable<K>
- Specified by:
toReversed
in interfaceSortedMapIterable<K,V>
-
take
public MutableSortedMap<K,V> take(int count)
Description copied from interface:ReversibleIterable
Returns the firstcount
elements of the iterable or all the elements in the iterable ifcount
is greater than the length of the iterable.- Specified by:
take
in interfaceMutableSortedMap<K,V>
- Specified by:
take
in interfaceReversibleIterable<K>
- Specified by:
take
in interfaceSortedMapIterable<K,V>
- Parameters:
count
- the number of items to take.
-
takeWhile
public MutableSortedMap<K,V> takeWhile(Predicate<? super V> predicate)
Description copied from interface:ReversibleIterable
Returns the initial elements that satisfy the Predicate. Short circuits at the first element which does not satisfy the Predicate.- Specified by:
takeWhile
in interfaceMutableSortedMap<K,V>
- Specified by:
takeWhile
in interfaceOrderedIterable<K>
- Specified by:
takeWhile
in interfaceReversibleIterable<K>
- Specified by:
takeWhile
in interfaceSortedMapIterable<K,V>
-
drop
public MutableSortedMap<K,V> drop(int count)
Description copied from interface:ReversibleIterable
Returns an iterable after skipping the firstcount
elements or an empty iterable if thecount
is greater than the length of the iterable.- Specified by:
drop
in interfaceMutableSortedMap<K,V>
- Specified by:
drop
in interfaceReversibleIterable<K>
- Specified by:
drop
in interfaceSortedMapIterable<K,V>
- Parameters:
count
- the number of items to drop.
-
dropWhile
public MutableSortedMap<K,V> dropWhile(Predicate<? super V> predicate)
Description copied from interface:ReversibleIterable
Returns the final elements that do not satisfy the Predicate. Short circuits at the first element which does satisfy the Predicate.- Specified by:
dropWhile
in interfaceMutableSortedMap<K,V>
- Specified by:
dropWhile
in interfaceOrderedIterable<K>
- Specified by:
dropWhile
in interfaceReversibleIterable<K>
- Specified by:
dropWhile
in interfaceSortedMapIterable<K,V>
-
partitionWhile
public PartitionMutableList<V> partitionWhile(Predicate<? super V> predicate)
Description copied from interface:OrderedIterable
Returns a Partition of the initial elements that satisfy the Predicate and the remaining elements. Short circuits at the first element which does satisfy the Predicate.- Specified by:
partitionWhile
in interfaceMutableSortedMap<K,V>
- Specified by:
partitionWhile
in interfaceOrderedIterable<K>
- Specified by:
partitionWhile
in interfaceReversibleIterable<K>
- Specified by:
partitionWhile
in interfaceSortedMapIterable<K,V>
-
distinct
public MutableList<V> distinct()
Description copied from interface:OrderedIterable
Returns a newOrderedIterable
containing the distinct elements in this iterable.Conceptually similar to
RichIterable.toSet()
.RichIterable.toList()
but retains the original order. If an element appears multiple times in this iterable, the first one will be copied into the result.- Specified by:
distinct
in interfaceMutableSortedMap<K,V>
- Specified by:
distinct
in interfaceOrderedIterable<K>
- Specified by:
distinct
in interfaceReversibleIterable<K>
- Specified by:
distinct
in interfaceSortedMapIterable<K,V>
- Returns:
OrderedIterable
of distinct elements
-
-