public class SkipList<E extends Comparable<E>> extends Object implements Collection<E>, Cloneable, Serializable
| 限定符和类型 | 类和说明 |
|---|---|
static class |
SkipList.Node<E extends Comparable<E>> |
| 限定符和类型 | 字段和说明 |
|---|---|
static byte |
MAX_INDEX_LEVEL |
| 构造器和说明 |
|---|
SkipList() |
SkipList(Collection<E> collection) |
SkipList(int p)
指定生成每一层的概率,取值 1 - 99
默认值为50 |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
add(E element)
添加一个元素到跳表中,如果跳表中已存在完全相同的元素,则不会做任何改变
该方法最终会调用元素的equals方法进行对比,来判断两个元素是否是完全相同的 |
boolean |
addAll(Collection<? extends E> c)
添加一整个集合的元素到跳表中
|
void |
clear()
清空整个跳表,相当于重新new了一个跳表
|
SkipList<E> |
clone() |
boolean |
contains(Object o)
判断元素是否在跳表中
该方法最终会调用元素的equals方法进行对比,来判断两个元素是否是完全相同的 |
boolean |
containsAll(Collection<?> c)
判断跳表是否包含集合
|
E |
getFirst()
获取跳表中的第一个元素
跳表为空时会抛出 NoSuchElementException 异常 |
E |
getLast()
获取跳表中的最后一个元素
跳表为空时会抛出 NoSuchElementException 异常 |
SkipList.Node<E>[] |
getOrCreateHeaderPath(int level) |
boolean |
isEmpty()
判断跳表是否是空的
|
Iterator<E> |
iterator()
获取元素迭代器
|
int |
levels()
获取索引层级
注意:索引层级只会在添加元素时不断增加,删除的元素不会导致减少 |
E |
peekFirst()
获取跳表中的第一个元素
|
E |
peekLast()
获取跳表中的最后一个元素
|
E |
pollFirst()
移除跳表的第一个元素
|
E |
pollLast()
移除跳表的最后一个元素
|
boolean |
remove(Object o)
从跳表中删除一个元素,如果跳表中不存在完全相同的元素,则不会做任何改变
该方法最终会调用元素的equals方法进行对比,来判断两个元素是否是完全相同的 |
boolean |
removeAll(Collection<?> c)
从跳表冲移除一整个集合的元素
|
E |
removeFirst()
移除跳表的第一个元素
跳表为空时会抛出 NoSuchElementException 异常 |
E |
removeLast()
移除跳表的最后一个元素
跳表为空时会抛出 NoSuchElementException 异常 |
boolean |
retainAll(Collection<?> c) |
int |
size()
返回跳表的大小
|
Object[] |
toArray()
将跳表转为数组
|
<T> T[] |
toArray(T[] array)
将跳表转为数组
|
String |
toString() |
equals, hashCode, parallelStream, removeIf, spliterator, streampublic static final byte MAX_INDEX_LEVEL
public SkipList()
public SkipList(int p)
p - 概率public SkipList(Collection<E> collection)
public int size()
size 在接口中 Collection<E extends Comparable<E>>public boolean isEmpty()
isEmpty 在接口中 Collection<E extends Comparable<E>>public boolean contains(Object o)
contains 在接口中 Collection<E extends Comparable<E>>o - 元素public Iterator<E> iterator()
iterator 在接口中 Iterable<E extends Comparable<E>>iterator 在接口中 Collection<E extends Comparable<E>>public Object[] toArray()
toArray 在接口中 Collection<E extends Comparable<E>>public <T> T[] toArray(T[] array)
toArray 在接口中 Collection<E extends Comparable<E>>array - 数组模板public boolean add(E element)
add 在接口中 Collection<E extends Comparable<E>>element - 添加的元素,不能为空public boolean remove(Object o)
remove 在接口中 Collection<E extends Comparable<E>>o - 删除的元素,不能为空public boolean containsAll(Collection<?> c)
containsAll 在接口中 Collection<E extends Comparable<E>>c - 被包含的集合public boolean addAll(Collection<? extends E> c)
addAll 在接口中 Collection<E extends Comparable<E>>c - 添加的集合public boolean removeAll(Collection<?> c)
removeAll 在接口中 Collection<E extends Comparable<E>>c - 移除的元素集合public boolean retainAll(Collection<?> c)
retainAll 在接口中 Collection<E extends Comparable<E>>public void clear()
clear 在接口中 Collection<E extends Comparable<E>>public E removeFirst()
public E removeLast()
public E pollFirst()
public E pollLast()
public E getFirst()
public E getLast()
public E peekFirst()
public E peekLast()
public int levels()
public SkipList.Node<E>[] getOrCreateHeaderPath(int level)
Copyright © 2025 EFCloud. All rights reserved.