集合
2020-11-13 18:09:36 0 举报
AI智能生成
集合知识大盘点(详细梳理collection和hashmap的异同及底层运行原理)
作者其他创作
大纲/内容
Map集合
同一个Map中是不允许出现“重复”的key,value是可以重复的。
API
添加
删除
void clear()
V remove(Object key) :根据key删除一对键值对,返回value
修改
需对同一个key,put另外一个value,覆盖原来的value
查询
int size()
V get(Object key) :根据key,找value
boolean containsKey(Object key):判断key是否存在
boolean containsValue(Object value):判断value是否存在
boolean isEmpty():判断是否为空
遍历
Collection<V> values()
Set<K> keySet()
Map的实现类
Hashtable:哈希表
HashMap:哈希表
LinkedHashMap:链表哈希表
TreeMap
问题3:TreeMap有什么特点呢?
Properties
问题4:Properties有什么特点?
ConcurrentHashMap
Collection
List集合
概述
继承Collection的所有方法
有序的、可重复的,可以通过下标进行操作
继承Collection的方法
boolean add(E e):默认在列表的最后添加
boolean addAll(Collection<? extends E> c):默认在列表的最后添加一组元素
boolean removeAll(Collection<?> c)
boolean retainAll(Collection<?> c)
boolean remove(Object o)
E remove(int index) :删除[index]位置的元素
查询或获取
int size()
boolean isEmpty()
boolean contains(Object o)
boolean containsAll(Collection<?> c)
E get(int index) :获取[index]位置的元素
int indexOf(Object o) :查找某个对象在当前集合中出现的下标,第一个
int lastIndexOf(Object o) :查找某个对象在当前集合中出现的下标,最后一个
迭代
toArray()返回所有元素的数组aslist()把数组变为不可更改的集合
Object[] toArray()
Iterator<E> iterator()
foreach,本质还是Iterator<E> iterator()
ListIterator<E> listIterator()
ListIterator<E> listIterator(int index):从任意位置开始遍历
ListIterator<E>接口,它是Iterator<E>的子接口。Iterator<E>接口是从前往后遍历。ListIterator<E>接口可以从任意位置开始,从前往后,或从后往前。
List接口的常用实现类
动态数组
实现Deque接口(双端队列)-->Queue接口(先进先出)
Stack<E>:栈(Vector的子类)
E push(E item) :把元素压入栈,新增的元素是栈顶元素
E pop() :弹出栈顶元素
E peek() :查看栈顶元素,但是不拿走
Vector<E>:动态数组
ArrayList<E>:动态数组
LinkedList<E>:链表
Set集合
概况
一个不包含重复元素的 collection
Set接口的实现类
如何选择HashSet还是LinkedHashSet?
自定义类必须实现比较大小的接口:Comparable/Comparator
HashSet
LinkedHashSet
TreeSet
动态数组与LinkedList<E>:链表区别?
重载
list.remove(Integer.valueOf(***));
list.remove(new Integer(***))
list.remove((Integer)***)
ListIterator
A:boolean hasNext():是否有下一个元素B:E next():取出下一个元素C:boolean hasPrevious():是否有上一个元素D:E previous():取出前一个元素E:int nextIndex() :获取下一个元素的下标,但是不去走下一个元素,游标也不往后走F:int previousIndex()G:void remove() :在遍历过程中进行删除H:void add(E e) :在遍历过程中可以添加I:void set(E e) :在遍历过程中可以修改
问题1:HashMap与Hashtable都是哈希表,有什么区别?
问题2: HashMap和 LinkedHashMap的区别
Set与Map的关系
Collection接口
List接口
Queue接口
Set接口
Deque接口
LinkedList
Vector
ArrayList
Stack
SortedSet
Map接口
Hashtable
HashMap
SortedMap
LinkedHashMap
Iterable接口
Iterator接口
ListIterator接口
自由主题
平级,没有从属关系
0 条评论
回复 删除
下一页