- 1.常用的集合类有哪些?
- 2.List,Set,Map三者的区别?
- 3.常用集合框架底层数据结构
- 4.哪些集合类是线程安全的?
- 5.迭代器Iterator是什么
- 6.Java集合的快速失败机制 “fail-fast”和安全失败机制“fail-safe”是什么?
- 7.如何边遍历边移除 Collection 中的元素?
- 8.Array 和 ArrayList 有什么区别?
- 9.comparable 和 comparator的区别?
- 10.Collection和Collections有什么区别?
- 11.遍历一个List有哪些不同的方式?
- 12.ArrayList的扩容机制
- 13.ArrayList和LinkedList的区别是什么?
- 14.ArrayList和Vector的区别是什么?
- 15.简述ArrayList、Vector、LinkedList 的存储性能和特性?
- 16.说一下HashSet的实现原理
- 17.HashSet如何检查重复?(HashSet是如何保证数据不可重复的?)
- 18.HashSet与HashMap的区别
- 19.HashMap在JDK1.7和JDK1.8中有哪些不同?HashMap的底层实现?
- 20.HashMap的长度为什么是2的幂次方
- 21.HashMap的put方法的具体流程?
- 22.HashMap的扩容操作是怎么实现的?
- 23.HashMap默认加载因子为什么选择0.75?
- 24.为什么要将HashMap链表中转红黑树的阈值设为8?为什么不一开始直接使用红黑树?
- 25.HashMap是怎么解决哈希冲突的?
- 26.HashMap为什么不直接使用hashCode()处理后的哈希值直接作为table的下标?
- 27.关于HashMap的key一些问题
- 28.HashMap多线程导致死循环问题
- 29.ConcurrentHashMap底层具体实现知道吗?
- 30.HashTable的底层实现知道吗?
- 31.HashMap、ConcurrentHashMap及Hashtable的区别
- 32.Java集合的常用方法
32.Java集合的常用方法
这些常用方法是需要背下来的,虽然面试用不上,但是笔试或者面试写算法题时会经常用到。
Collection常用方法
方法 | |
---|---|
booean add(E e) | 在集合末尾添加元素 |
boolean remove(Object o) | 若本类集中有值与o的值相等的元素,移除该元素并返回true |
void clear() | 清除本类中所有元素 |
boolean contains(Object o) | 判断集合中是否包含该元素 |
boolean isEmpty() | 判断集合是否为空 |
int size() | 返回集合中元素的个数 |
boolean addAll(Collection c) | 将一个集合中c中的所有元素添加到另一个集合中 |
Object[] toArray() | 返回一个包含本集所有元素的数组,数组类型为Object[] |
`boolean equals(Object c)“ | 判断元素是否相等 |
int hashCode() | 返回元素的hash值 |
List特有方法
方法 | |
---|---|
void add(int index,Object obj) | 在指定位置添加元素 |
Object remove(int index) | 删除指定元素并返回 |
Object set(int index,Object obj) | 把指定索引位置的元素更改为指定值并返回修改前的值 |
int indexOf(Object o) | 返回指定元素在集合中第一次出现的索引 |
Object get(int index) | 返回指定位置的元素 |
List subList(int fromIndex,int toIndex) | 截取集合(左闭右开) |
LinkedList特有方法
方法 | |
---|---|
addFirst() | 在头部添加元素 |
addLast() | 在尾部添加元素 |
removeFirst() | 在头部删除元素 |
removeLat() | 在尾部删除元素 |
getFirst() | 获取头部元素 |
getLast() | 获取尾部元素 |
Map
方法 | |
---|---|
void clear() | 清除集合内的元素 |
boolean containsKey(Object key) | 查询Map中是否包含指定key,如果包含则返回true |
Set entrySet() | 返回Map中所包含的键值对所组成的Set集合,每个集合元素都是Map.Entry的对象 |
Object get(Object key) | 返回key指定的value,若Map中不包含key返回null |
boolean isEmpty() | 查询Map是否为空,若为空返回true |
Set keySet() | 返回Map中所有key所组成的集合 |
Object put(Object key,Object value) | 添加一个键值对,如果已有一个相同的key,则新的键值对会覆盖旧的键值对,返回值为覆盖前的value值,否则为null |
void putAll(Map m) | 将制定Map中的键值对复制到Map中 |
Object remove(Object key) | 删除指定key所对应的键值对,返回所关联的value,如果key不存在返回null |
int size() | 返回Map里面的键值对的个数 |
Collection values() | 返回Map里所有values所组成的Collection |
boolean containsValue ( Object value) | 判断映像中是否存在值 value |
Stack
方法 | |
---|---|
boolean empty() | 测试堆栈是否为空。 |
E peek() | 查看堆栈顶部的对象,但不从堆栈中移除它。 |
E pop() | 移除堆栈顶部的对象,并作为此函数的值返回该对象。 |
E push(E item) | 把项压入堆栈顶部。 |
int search(Object o) | 返回对象在堆栈中的位置,以 1 为基数。 |
Queue
方法 | |
---|---|
boolean add(E e) | 将指定元素插入到队列的尾部(队列满了话,会抛出异常) |
boolean offer(E e) | 将指定元素插入此队列的尾部(队列满了话,会返回false) |
E remove() | 返回取队列头部的元素,并删除该元素(如果队列为空,则抛出异常) |
E poll() | 返回队列头部的元素,并删除该元素(如果队列为空,则返回null) |
E element() | 返回队列头部的元素,不删除该元素(如果队列为空,则抛出异常) |
E peek() | 返回队列头部的元素,不删除该元素(如果队列为空,则返回null) |
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版