常用数据结构
栈(Deque)(LinkedList实现)
- 入栈 push(e)
- 获取栈顶 peek()
- 弹出栈顶 pop()
普通队列(Queue)(LinkedList实现)
以下函数失败时前者抛出异常,后者返回特殊值,如 false、null等。
- 队尾添加元素 add(e)、offer(e)
- 获取队首元素 element()、peek()
- 弹出队首元素 remove()、poll()
双端队列(Deque)(LinkedList实现)
- 队首插入元素 addFirst(e)
- 队尾插入元素 addLast(e)
- 获取队首元素 getFirst()
- 获取队尾元素 getLast()
- 弹出队首元素 removeFirst()
- 弹出队尾元素 removeLast()
列表(List)(LinkedList、ArrayList、Vector实现)
- 添加元素 add(e)
- 获取元素 get(index)
- 清除元素 remove(index)
- 添加所有元素 addAll(collection) 将Collection中所有元素添加
- 取子列表 subList(l,r) 取index为l~r-1的子列表
优先队列(PriorityQueue)
- 获取队首元素 peek()
- 弹出队首元素 poll()
- 添加元素 add(e)
- 获取大小 size()
集合(HashSet)
- 添加元素 add(e) 元素已存在则返回false
- 删除指定元素 remove(e)
- 删除所有元素 clear()
- 是否包含某元素 contains(e)
- 是否为空 isEmpty()
- 获取大小 size()
哈希表(HashMap)
- 添加元素 put(key,val)
- 获得元素 get(key)、getOrDefault(key,val)
- 是否包含某元素 containsKey(key)、containsValue(val)
- 是否为空 isEmpty()
- 遍历 keySet()、entrySet()
for(Map.Entry<Key, Value> entry:map.entrySet()){
entry.getKey();
entry.getValue();
}
其它集合类方法
- Arrays.asList() 将数组转化成List集合
List<String> list = Arrays.asList("a","b","c");
- Collections.reverse(collection) 将集合c反序
- arraylist.addAll(collection) 将集合c添加到arraylist中
- Collections.sort(collection) 给集合c排序
- Collections.swap(list,i,j) 交换列表i,j位置的元素
其它JAVA方法
- str1.compareTo(str2) 比较str1与str2的ASCII值
- str.substring(beginIndex,endIndex) 截取beginIndex到endIndex-1的子串
- str.toCharArray() str转为char数组
- Integer.valueOf(str) str转为int
- list.toArray() list转为数组,注意返回Object类型,需要强制类型转换,或在参数中添加需要转换的数组