Java集合类的说明及些许例子

Java集合类

List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口。
Set下有HashSet,LinkedHashSet,TreeSet。
List下有ArrayList,Vector,LinkedList。
Map下有Hashtable,LinkedHashMap,HashMap,TreeMap。
Collection接口下还有个Queue接口,有PriorityQueue类。

List 接口:元素按进入先后有序保存,可重复

ArrayList
优点: 底层数据结构是数组,查询快,增删慢。
缺点: 线程不安全,效率高
Vector
优点: 底层数据结构是数组,查询快,增删慢。
缺点: 线程安全,效率低
LinkedList
优点: 底层数据结构是链表,查询慢,增删快。
缺点: 线程不安全,效率高

Set 接口: 仅接收一次,不可重复,并做内部排序

HashSet 使用hash表(数组)存储元素(无序,唯一)

LinkedHashSet 链表维护元素的插入次序(有序,唯一)

TreeSet 底层实现为二叉树,元素排好序(唯一,有序)

Map 接口 键值对的集合 (双列集合)

Hashtable 接口实现类, 同步, 线程安全,不允许null值(无序)

HashMap 接口实现类,没有同步,线程不安全,允许null值(无序)

如果对同步性或与遗留代码的兼容性没有任何要求,建议使用HashMap。

TreeMap 红黑树对所有的key进行排序(有序)

**LinkedHashMap **(HashMap+LinkedList)增加了时间和空间上的开销,线程不安全(有序)

list的一些常用方法:

add(int index, E element) 在指定位置插入元素,后面的元素都往后移一个元素。

addAll(int index, Collection<? extends E> c) 在指定的位置中插入c集合全部的元素,如果集合发生改变,则返回true,否则返回false。

get(int index) 返回list集合中指定索引位置的元素。

indexOf(Object o) 返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1。

listIterator() 返回此列表元素的列表迭代器(按适当顺序)。

listIterator(int index) 从指定位置开始,返回此列表元素的列表迭代器(按适当顺序)。和上面那个迭代器不同的就是多了一个参数,就是能控制迭代器开始的位置。

set(int index, E element) 在索引为index位置的元素更改为element元素

subList(int fromIndex, int toIndex) 返回从索引fromIndex到toIndex的元素集合,包左不包右

Set的常用方法:

begin() 返回set容器的第一个元素

end() 返回set容器的最后一个元素

clear() 删除set容器中的所有的元素

empty() 判断set容器是否为空

max_size() 返回set容器可能包含的元素最大个数

size() 返回当前set容器中的元素个数

rbegin() 返回的值和end()相同

rend() 返回的值和rbegin()相同

Map的常用方法:

put(K key, V value) 向map集合中添加Key为key,Value为value的元素,当添加成功时返回null,否则返回value。

putAll(Map<? extends K,? extends V> m) 向map集合中添加指定集合的所有元素。

clear() 把map集合中所有的键值删除。

containsKey(Object key) 检出map集合中有没有包含Key为key的元素,如果有则返回true,否则返回false。

containsValue(Object value) 检出map集合中有没有包含Value为value的元素,如果有则返回true,否则返回false。

Set<Map.Entry<K,V>> entrySet() 返回map到一个Set集合中,以map集合中的Key=Value的形式返回到set中。

equals(Object o) 判断两个Set集合的元素是否相同。

get(Object key) 根据map集合中元素的Key来获取相应元素的Value。

hashCode() 返回map集合的哈希码值。

isEmpty() 检出map集合中是否有元素,如果没有则返回true,如果有元素则返回false。

keySet() 返回map集合中所有Key。

remove(Object key) 删除Key为key值的元素。

size() 返回map集合中元素个数。

values() 返回map集合中所有的Value到一个Collection集合。

话不多说,看例子:

image-20200720141641540

image-20200720141610675

遍历的三种方式

image-20200720141539141

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值