Package com.pnfsoftware.jeb.util.collect
Class MultiSegmentMap<K extends Comparable<K>,V extends ISegment<K>>
java.lang.Object
com.pnfsoftware.jeb.util.collect.MultiSegmentMap<K,V>
- Type Parameters:
K- key/address typeV- segment type
- All Implemented Interfaces:
IMultiSegmentMap<K,V>
@Ser
public class MultiSegmentMap<K extends Comparable<K>,V extends ISegment<K>>
extends Object
implements IMultiSegmentMap<K,V>
Standard implementation of a multi-segment map. This implementation relies on
TreeMap.-
Constructor Summary
ConstructorsModifierConstructorDescriptionCreate a multi-segment map using natural key ordering.protectedMultiSegmentMap(Comparator<? super K> comparator) Create a multi-segment map using a custom key comparator. -
Method Summary
Modifier and TypeMethodDescriptionAdd a segment.voidclear()Remove all segments.intcompareKeys(K a, K b) Compare two keys using this map's comparator.Get one segment containing the provided key.getSegmentsContaining(K key) Get all segments containing the provided key.booleanisEmpty()intsize()
-
Constructor Details
-
MultiSegmentMap
public MultiSegmentMap()Create a multi-segment map using natural key ordering. -
MultiSegmentMap
Create a multi-segment map using a custom key comparator.- Parameters:
comparator- key comparator
-
-
Method Details
-
compareKeys
Compare two keys using this map's comparator.- Parameters:
a- first keyb- second key- Returns:
- comparison result
-
clear
public void clear()Description copied from interface:IMultiSegmentMapRemove all segments.- Specified by:
clearin interfaceIMultiSegmentMap<K extends Comparable<K>,V extends ISegment<K>>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfaceIMultiSegmentMap<K extends Comparable<K>,V extends ISegment<K>> - Returns:
- true if this map contains no segments
-
size
public int size()- Specified by:
sizein interfaceIMultiSegmentMap<K extends Comparable<K>,V extends ISegment<K>> - Returns:
- number of stored segments
-
add
Description copied from interface:IMultiSegmentMapAdd a segment.- Specified by:
addin interfaceIMultiSegmentMap<K extends Comparable<K>,V extends ISegment<K>> - Parameters:
segment- segment to add- Returns:
- added segment
-
getFirstSegmentContaining
Description copied from interface:IMultiSegmentMapGet one segment containing the provided key.- Specified by:
getFirstSegmentContainingin interfaceIMultiSegmentMap<K extends Comparable<K>,V extends ISegment<K>> - Parameters:
key- key/address to probe- Returns:
- first containing segment, or null if none was found
-
getSegmentsContaining
Description copied from interface:IMultiSegmentMapGet all segments containing the provided key.- Specified by:
getSegmentsContainingin interfaceIMultiSegmentMap<K extends Comparable<K>,V extends ISegment<K>> - Parameters:
key- key/address to probe- Returns:
- list of containing segments
-