Java常用容器及其方法
HashSet
HashSet
- add() 添加元素,返回boolean类型。如果不存在该元素,则添加指定元素并返回true。否则不更改set并返回false
- clear() 移除set所有元素
- remove(Object o) 如果指定元素存在于set中,移除指定元素
- isEmpty() 如果set不包含任何元素,返回true
- contains(Object o) 如果set包含指定元素,返回true
- size() 返回set中元素数量
HashMap
HashMap<T, T> hashMap = new HashMap<>();
- put(key, value) 添加键值对,如果key已经存在,就返回旧value,并更新成新value。如果不存在,就返回null
- putIfAbsent(key, value); 不会覆盖原有的value
- remove(key) 删除元素。删除成功返回对应的value,否则返回null
- get(key) 获取key对应的value
- containsKey(key) 判断key是否存在
- containsValue(value) 判断value是否存在
- replace(key, value) 对于已经存在的key,替换其value
HashMap 遍历方法
一、for-each循环中使用entries遍历
1 | Map<Integer, Integer> hash = new HashMap<>(); |
二、在for-each中遍历key或者value集合
1 | Map<Integer, Integer> hash = new HashMap<>(); |
三、通过键找值
1 | Map<Integer, Integer> hash = new HashMap<>(); |
这种方法效率低,因为通过键来取值很耗时
LinkedList
LinkedList
基本操作
add
- add() 在链表后添加元素
- addFirst() 在链表头部插入一个元素
- addLast() 在链表尾部添加一个元素
- add(index, element) 在指定位置插入一个元素
remove
- remove() 移除链表第一个元素
- remove(Obejct o) 移除链表中指定元素
- remove(index) 移除链表中指定位置元素
- removeFirst() 移除链表中第一个元素,与remove类似
- removeLast() 移除链表中最后一个元素
get
- getFirst() 获取第一个元素
- getLast() 获取最后一个元素
栈操作
- push() 与addFirst一样
- pop() 与removeFirst一样
- poll() 查询并移除第一个元素
- peek() 获取第一个元素,但是不移除
队列操作
Queue<> queue = new LinkedList<>();
- offer() 在队列尾部插入元素
- add() 让元素入队
- poll() 首部元素出队列
其他
- contains(e) 是否包含某元素
双端队列 - 可实现单调队列
Deque<> deque = new LinkedList<>();
peekLast() 获取队列尾端值
peekFirst() 获取队列尾部值
removeFirst() 移除队列头部第一个值
removeLast() 移除队列尾部第一个值
ArrayList
- add() 顺序添加元素
- get(i) 获取第i个元素
- Arrays.sort() 列表排序
- remove(index) 删除对应索引的元素
Stack
是Vector的子类
push()
pop()
peek()
StringBuilder
append() 向尾部添加字符串
deleteCharAt(i) 定点删除字符
String
//把字符串去头尾后以“,”为分隔符分割成字符串数组
String[] list = data.substring(1, data.length() - 1).split(“,”);
System
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src:源数组;
srcPos:源数组要复制的起始位置;
dest:目的数组;
destPos:目的数组放置的起始位置;
length:复制的长度.