com.objectwave.utility
Class SkipListMap

java.lang.Object
  |
  +--com.objectwave.utility.SkipListMap

public class SkipListMap
extends java.lang.Object

Description: Class for a "SkipListMap" as proposed by William Pugh. His paper is available at ftp://ftp.cs.umd.edu/pub/skipLists

Version:
$Id: SkipListMap.java,v 2.1 2002/07/31 15:55:23 dave_hoag Exp $

Nested Class Summary
static class SkipListMap.Test
          JUnit tests cases.
 
Field Summary
protected  SorterComparisonIF comparison
           
static float GOOD_PROB
           
static java.lang.Integer NIL_KEY
           
static java.lang.String NOT_FOUND_OBJ
           
 
Constructor Summary
SkipListMap()
           
SkipListMap(float probability, int maxLevel)
           
SkipListMap(long maxNodes)
           
 
Method Summary
 java.util.Enumeration elements()
           
protected  java.util.Enumeration elements(boolean keys)
           
protected  int generateRandomLevel()
           
 java.lang.Object get(java.lang.Object searchKey)
           
 SorterComparisonIF getComparison()
           
 SkipListElement getHeader()
           
 int getLevel()
           
 int getMaxLevel()
           
 float getProbability()
           
 boolean isEmpty()
           
 java.util.Enumeration keys()
           
 void listInfo()
           
 void put(java.lang.Object searchKey, java.lang.Object value)
           
 void remove(java.lang.Object searchKey)
           
 void setComparison(SorterComparisonIF newValue)
           
 int size()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NOT_FOUND_OBJ

public static final java.lang.String NOT_FOUND_OBJ

NIL_KEY

public static final java.lang.Integer NIL_KEY

GOOD_PROB

public static final float GOOD_PROB
See Also:
Constant Field Values

comparison

protected SorterComparisonIF comparison
Constructor Detail

SkipListMap

public SkipListMap()

SkipListMap

public SkipListMap(long maxNodes)

SkipListMap

public SkipListMap(float probability,
                   int maxLevel)
Method Detail

getComparison

public SorterComparisonIF getComparison()
Returns:
com.objectwave.utility.SorterComparisonIF

setComparison

public void setComparison(SorterComparisonIF newValue)
Parameters:
newValue - com.objectwave.utility.SorterComparisonIF

generateRandomLevel

protected int generateRandomLevel()

put

public void put(java.lang.Object searchKey,
                java.lang.Object value)

get

public java.lang.Object get(java.lang.Object searchKey)

remove

public void remove(java.lang.Object searchKey)

isEmpty

public boolean isEmpty()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

size

public int size()

keys

public java.util.Enumeration keys()

elements

public java.util.Enumeration elements()

elements

protected java.util.Enumeration elements(boolean keys)

listInfo

public void listInfo()

getLevel

public int getLevel()

getMaxLevel

public int getMaxLevel()

getProbability

public float getProbability()

getHeader

public SkipListElement getHeader()