ArrayList,LinkedList和HashMap

浅谈一下常用的集合:ArrayList,LinkedList和HashMap

ArrayList,Linkedlist和HashMap本质上都是数据操作方法的实现类,通过实现集合中的各自方法来完成对数组结构的操作。

一.ArrayList

1.ArrayList实现了Collection下的List中的接口。
2.ArrayList是基于数组的结构。
3.由于其地址的连续性,导致长度固定,类型固定,从而使得其灵活性不足,删除和插入性能低下
4.常用方法

indexOf(Object o):返回值为int,返回指定元素第一次出现的索引,如果没有返回-1lastIndexOf(Object o):返回值为int,返回指定元素最后一次出现的索引,如果没有返回-1ensureCapacity(int miniCapacity):无返回值,确保数组的最小容量
add(E e):返回值为boolean,增加元素到列表吗末尾。
add(int index,E element):无返回值,增加元素到指定位置。
addAll(Collection c):返回值为boolean,增加指定集合到列表末尾。
addAll(int index,Collection c):返回值为boolean,增加指定元素到列表指定位置。
set(int index,Element e):返回值为元素类型,用指定元素替换该列表指定位置的元素。
get(int index):返回值为元素类型,获得指定位置的元素。
remove(int index):返回值为boolean,删除该列表第一个指定元素。
removeRange(int fromIndex,int toIndex):无返回值,删除从fromIndex到toIndex位置的所有元素。
removeAll(Collection c):返回值为boolean,删除集合中所有的元素
retainAll(Collection c):返回值为boolean,仅保留指定集合中的所有元素。
subList(int fromIndex,int toIndex):返回值为list,返回从fromIndex到toIndex间的所有元素
sort(Compataor c):无返回值,以comparator对列表进行排序。
toArray():返回Object数组,返回此列表中所有元素的数组。
trimToSize():无返回值,清除此列表的无用元素。
clear():无返回值,删除此列表中的所有元素。
size():返回值为int,返回次列表中的元素数量。

二.LinkedList

1.LinkedList实现了Collection下的List接口和Queue接口
2.LinkedList是基于双向链表的结构。
3.由于其链表的结构,导致其查询慢,插入和删除快
4.常用方法

indexOf(Object o):返回值为int,返回此列表中元素的第一次出现的位置,如果没有则返回-1lastIndexOf(Object o):返回值为int,返回此列表中元素的最后一次出现的位置,如果没有测返回-1add(E element):返回值为boolean,将元素添加到列表末尾。
add(int index,E element):无返回值,在此列表指定位置插入元素。
add(Collection c):返回值为boolean,将集合中所有元素添加到列表中。
set(int index,E element):返回值为元素类型,用指定元素替换指定位置的元素。
get(int index):返回值为元素类型,返回此列表中指定位置元素。
remove():返回值为元素类型,删除此列表的头元素。
remove(int index):返回值为元素类型,删除列表中指定位置的元素。
remove(Object o):返回值为boolean,删除元素在列表的第一次出现。
toArray():返回值为Object类型的数组,返回此列表的所有元素的数组。
clear():无返回值,删除此列表中的所有元素。
size():返回值为int,返回此列表元素的数量。
offer(E e):返回值为boolean,在列表的末尾添加元素。
offerFirst(E e):返回值为boolean,在列表头添加元素。
poll():返回值为元素类型,检索并删除此列表的头元素。
pollLast():返回值为元素类型,减速并删除此列表的尾元素,如果没有则返回null。
peek():返回值为元素类型,检索并删除此列表的头元素。
peekLast():返回值为元素类型,检索并删除此列表的尾元素,如果没有则返回null。
push(E e):无返回值,将元素推送列表的堆栈上。
pop():返回值为元素类型,从此列表中的堆栈中弹出一个元素。

三.HashMap

1.HashMap单独实现了Map接口
2.HashMap本质是一个数组,然后通过计算获得其应该存放的下标位置。如下标位置重复,<7时存放在链表结构里,>=7时存放在树结构中。
3.由于独特的key和value的映射关系,可以通过key值快速查找定位像对应的value值。但是相同的key值也会映射同一下标,导致 HashMap结构复杂。
4.常用方法

size():返回值为int,返回键值映射的数量。
isEmpty():返回值为boolean,如果此map无键值映射,则返回true,否则返回falsecontainsKey(Object Key):返回值为boolean,如果此包含此键的映射,则返回true,否则为falsecontainsValue(Object value):返回值为boolean,如果有一个或多个该值的键的映射,则返回true,否则为falseput(K key,V value):返回值为value的类型,将此键值映射复制到map中。
putAll(Map<K,V> m):无返回值,将指定map中的所有映射复制到此map中。
remove(Object key):返回值为value类型,删除此map中指定键的映射(如果存在)。
clear():无返回值,删除此map中所有映射。
keySet():返回Set集合,返回此列表中所有键的set集合。
values():返回Collection集合,返回此列表中所有值的集合。
entrySent():返回Set集合,返回所有的映射的set集合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值