Java Common Class Library for Leetcode.
Declare
1 | int[] list = new int[length]; |
java.util.Queue
add(item)与offer(item)
两者都是在队列中添加一个元素 区别在于在一个满队列中执行
add()抛出一个unchecked异常 offer()会返回false可用作判断
poll()与remove()
两者都是从队列中删除第一个元素 区别在于在一个空队列中执行
poll()会返回null remove()与Collection接口的版本相似会抛出异常
element()与peek()
两者都是用于在队列的头部查询元素 区别在于在一个空队列中执行
element()抛出一个异常 peek()返回null
put(item)
添加一个元素 若队列满 阻塞
take()
移除并返回队列头部的元素
java.util.PriorityQueue
无限制队列可动态增长 默认情况下队列对象按自然顺序排序
优先队列头部是最小元素 轮询时从队列返回头对象
1 | PriorityQueue<Integer> queue = new PriorityQueue<Integer>(new Comparator<Integer>(){ |
如果只是声明PriorityQueue<Integer> heap = new PriorityQueue<>();
则构建了最大优先队列
若构建最大优先队列 则队首大 队尾小 反之反之
offer() 向队列中插入元素
add() 将指定的元素插入此优先级队列
peek() 获取队首元素(即最小元素)但是不删除
poll() 获取并删除队首元素(即最小元素)
java.util.Stack
push(item)与pop()
入栈和出栈 并作为函数的值返回该对象
add(item)
同样是入栈 但是返回布尔值
peek()
查看栈顶对象但不移除
search(object o)
返回对象在堆栈中距离栈顶的位置
java.util.LinkedList
add()
boolean add(E e):在链表后添加一个元素,如果成功,返回true,否则返回false
void addFirst(E e):在链表头部插入一个元素
void addLast(E e):在链表尾部添加一个元素
void add(int index, E element):在指定位置插入一个元素
remove()
E remove();移除链表中第一个元素
boolean remove(Object o):移除链表中指定的元素
E remove(int index):移除链表中指定位置的元素
E removeFirst():移除链表中第一个元素
E removeLast():移除链表中最后一个元素
boolean removeFirstOccurrence(Object o):移除链表中第一次出现所在位置的元素
boolean removeLastOccurrence(Object o):移除链表中最后一次出现所在位置的元素
get()
E get(int index):按照下标获取元素
E getFirst():获取第一个元素
E getLast():获取倒数第一个元素
other
void size():获取长度
void push(E e):与addFirst一样,实际上它就是addFirst
E pop():与removeFirst一样,实际上它就是removeFirst
E poll():查询并移除第一个元素
E peek():获取第一个元素,但是不移除
E peekFirst():获取第一个元素,但是不移除
E peekLast():获取最后一个元素,但是不移除
boolean isEmpty():判断是否为空
boolean offer(E e):在链表尾部插入一个元素
boolean offerFirst(E e):与addFirst一样,实际上它就是addFirst
boolean offerLast(E e):与addLast一样,实际上它就是addLast
java.util.ArrayList
add()
boolean add(Element e) 增加指定元素到链表尾部
void add(int index, Element e) 增加指定元素到链表指定位置
remove()
void clear() 从链表中删除所有元素
E remove(int index) 删除链表中指定位置的元素
protected void removeRange(int start, int end) 删除链表中从某一个位置开始到某一个位置结束的元素
other
void size() 获取长度
E get(int index) 获取链表中指定位置处的元素
Object[] toArray() 获取一个数组,数组中所有元素是链表中的元素.(即将链表转换为一个数组)
E set(int index, E element) 将链表中指定位置上的元素替换成新元素
boolean contains(Object o) 如果链表包含指定元素,返回true
int indexOf(Object o) 返回元素在链表中第一次出现的位置,如果返回-1,表示链表中没有这个元素
int lastIndexOf(Object o) 返回元素在链表中最后一次出现的位置,如果返回-1,表示链表中没有这个元素
java.util.Map
add()
put(Object key, Object value) 该方法会将原先key所对应的键值对覆盖掉,即可以用该方法修改Map中的值
void putAll(Map m) 从指定映射中将所有映射关系复制到此映射中
remove()
Object remove(Object k) 如果存在一个键的映射关系,则将其从此映射中移除
get()
Object get(Object key) 获取给定key对应的值,否则返回null
other
int size( ) 返回此映射中的键-值映射关系数
boolean containsKey(Object Key) 如果此映射包含指定键的映射关系,则返回 true
boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true
boolean equals(Object obj) 比较指定的对象与此映射是否相等
boolean isEmpty( ) 如果此映射未包含键-值映射关系,则返回 true
java.util.HashMap
getOrDefault(Object key, V defaultValue) 获取指定 key 对应对 value,如果找不到 key ,则返回设置的default值
Concurrent
1 | import java.util.ArrayList; |