集合类(容器)

这篇博客详细介绍了Java集合框架中的Collection接口及其子接口List和Set,以及List接口的实现类ArrayList和LinkedList、Set接口的实现类TreeSet和HashSet。同时,还讲解了Map接口及其实现类HashMap和TreeMap,分析了各个集合类的特点和应用场景,如ArrayList的随机访问、LinkedList的插入删除效率、TreeSet的自然排序、HashSet的哈希运算等。
摘要由CSDN通过智能技术生成

Collection接口通常不能直接使用,由于List接口和Set接口都是继承了Collection接口,因此Collection接口的方法对于List集合和Set集合都是通用的

Collection接口常用的方法:

add(E e) 将指定的对象添加到该集合当中

remove(Object o)将指定的对象从该集合中移除

isEmpty()返回Boolean值,用于判断当前集合是否为空

iterator()返回一个迭代器,用于遍历集合中的对象

size()返回int类型的值,获取该集合中元素的个数

List集合 = List接口 + List接口的实现类

List集合的特点:

元素允许重复

List接口特有的方法:

get(int index) 获得指定索引位置的元素

set(int index,Object obj) 将集合中指定索引位置的对象修改为指定对象

List接口的实现类:

List<E> list = new ArrayList<>();

List<E>list = new LinkedList<>();

ArrayList类的特点:

允许保存所有元素,包括null

可以进行随机访问

缺点是插入对象或者删除对象的速度比较慢

LinkedList类的特点:

便于向集合中插入和删除对象

无法进行随机访问

Set集合 = Set接口 + Set接口的实现类

Set集合的特点:

集合的内容可以不是同一类型,但是Set集合中不能包含重复对象。

Set接口的实现类:

Set<E> set = new TreeSet<>();

Set<E> set = new HashSet<>();

TreeSet类的特点:

在遍历时按照自然递增排序

如果要定制排序的话泛型要继承Comparable()重写compareTo()方法

不能添加null值

HashSet类的特点:

允许使用null值

不保证Set集合的迭代顺序,使用时应该重写hashCode()和equals()方法(参与哈希值运算的建议不要改)

Map集合 = Map接口 + Map接口的实现类

Map集合的特点

Map接口没有继承Collec接口,提供的是key到value的映射,Map集合中不能包含相同的key,每个key只能映射一个value

Map接口特有的方法:

put(K key,V value) 向集合中添加指定的key与value的映射关系

containsKey(Object key) 如果此映射包含指定key的映射关系,返回true

containsValue(Object value) 如果此映射将一个或多个key映射到指定值,返回true

get(Object key) 如果存在指定的key对象,则返回该对象对应的值,否则返回null

keySet() 返回该集合中的所有key对象形成的Set集合

values() 返回该集合中所有值对象形成的Collection集合

Map接口的实现类:

Map<E,E> map = new HashMap<>();

Map<E,E> map = new TreeMap<>();

HashMap类的特点:

允许使用null值和null键,散列码键值对速度快

TreeMap类的特点:

不允许使用null,树状键值对是有序的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值