Java集合简介

概述:Java集合又称容器,与数组不同,数组的长度是不变的,集合的长度可变,数组存放基本类型的数据,集合存放对象的引用,常用集合有List集合、Set集合和Map集合。其中List和Set继承了Collection接口,继承关系如下图:
在这里插入图片描述

1.Collection接口:

collection接口通常不单独使用,,该接口提供添加元素、删除元素、管理数据的方法,这些方法对List集合和Set集合是通用的。常用方法有:
在这里插入图片描述

1.1.List集合

除了Collection中继承下来的方法,List集合还定义了两个重要的方法:
get(int index) 获得指定索引位置的元素
set(int index,Object obj):将指定索引位置的对象修改为指定对象
List接口的常用实现类:
ArrayList:实现可变数组,允许保存所有元素,包括null,可以根据索引位置随机访问,但是向指定索引位置插入删除对象速度较慢。
LinkedList:采用链表结构保存对象,优点是便于插入和删除,但是随机访问效率较低。

实例化方式:
List< E > list = new ArrayList<>();
List< E > list = new LinkedList<>();

其中E可是合法的Java数据类型。

1.2.Set集合

Set集合中对象不按特定方式排序,只是简单加入集合,但是不允许包含重复对象。(操作可变对象时需要小心)Set集合常用实现类:

HashSet:由哈希表实现,不保证迭代顺序,允许使用null元素。

TreeSet:遍历时按照自然顺序递增排序,也可以按照比较器递增排序,即可以通过比较器对集合中的对象进行排序。新增方法包括:
first():返回Set中当前第一个(最低)元素。
last():返回Set中当前最后一个(最高)元素。
comparator():返回对此Set中元素进行排序的比较器。如果此Set使用自然排序,返回null。
headSet(E toElement):返回一个新的Set集合,新集合是toEement(不包含)之前的所有对象
subSet(E fromElement,E toElement):返回一个新的集合,是fromElement在(包含)对象与 toElement(不包含)对象之间的所有对象
tailSet(E fromElement):返回一个新的Set集合,包含对象fromElement(包含)之后的所有对象

2.Map集合

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

Map接口中提供了集合的常用方法,除此之外还包括一些常用方法:
put(K key,V value):向集合中添加指定的key和value映射关系
cotainsKey(Object key):如果映射包含指定key的映射关系,返回true
containValue(Object value):如果此映射将一个或多个key映射到指定值,则返回true
get(Object key):如果存在指定key对象,则返回该对象对应的值,否则返回null
keySet():返回该集合中所有key对象形成的Set集合
values():返回该集合中所有值对象形成的Collection集合

Map接口实现类

HashMap:基于哈希表的Map接口实现,允许null值null键,但必须保证键的唯一性。HashMap通过哈希表实现快速查找,但不保证映射的顺序

TreeMap:不仅实现了Map接口,还实现了java.util.SortedMap 接口,因此集合中映射关系具有一定顺序。但是在添加、删除和定位映射关系时,性能更差,不允许键对象为null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值