简介:
从JDk1.2开始,Java就引入了类集开发框架,类集指的就是一套动态对象数组的实现方案,在实际开发情况中,没有任何的情况可以离开数组,但是传统数组的实现非常的繁琐,并且有“长度固定”这个致命点,所以传统数组不可能大范围使用,那么就只能进行改进,于是就有链表和树的使用,但是这两种使用方法有一些缺陷:
- 数据结构的代码实现困难,一般的使用者无法使用其做出高效的程序;
- 对于链表或二叉树,当进行更新处理时候的维护是非常麻烦的;
- 对于链表或二叉树还需要尽可能保证其操作的性能。
正是因为这样的原因,就有了类集的引入;
类集的功能就是:
对常见的数据结构进行完整的实现包装,并且提供了一系列的接口与实现子类来帮助用户减少数据结构所带来的开发困难。
类集的内容:
最开始类集使用的是Object来接收所有的类型数据,这涉及到了向上向下转型的安全问题,于是在JDk 1.5以后,因为泛型的使用,类集进行了改进,可以直接利用泛型来保存相同类型的数据(正常情况下一个集合存放的都是一个类型的数据),并且随着数据量的不断增加,从JDK1.8开始类集中的实现算法也提到了良好的性能提升。
在整个类集框架里面,有几个核心的接口:
- Collection
- List
- Set
- Map
- Iterator
- Enumeration
- Queue
- ListIterator
将接口整明白就行。
java.util.Collection【JDK1.2】:
单值集合操作最大的父接口,接口中定义了所有单值数据的处理。(单值:每次操作只能有一个数据对象)
该接口定义了一些方法:
NO. | 方法名称 | 类型 | 作用 |
1 *使用最多* |
public boolean add(E e);
|
普通 | 向集合中保存数据,每次保存都是单个数据; |
2 |
public boolean addAll(Collection<? extends E> c);
|
普通 | 追加一组数据,将第二组数据的头和第一组数据的尾相连接; |
3 |
public void clear();
|
普通 | 清空集合,根节点为空并且GC,清空后续数据; |
4 |
public boolean contains(Object o);
|
普通 | 查询数据是否存在,需要equals()方法支持; |
5 |
public boolean remove(Object o);
|
普通 | 数据删除需要equals()方法支持; |
6 |
public int size();
|
普通 | 获取数据长度; |
7 |
public Object[] toArray();
|
普通 | 将集合变为对象数组返回 |
8 *使用最多* |
public Iterator<E> iterator();
|
普通 | 将集合变为Iterator接口返回; |
在进行集合操作的时候,【增加】add()和【输出】iterator()方法最为常用;
在JDK1.5之前,Collection只是一个独立的接口,但是从JDK1.5之后提供了Iterable父接口,并且在JDK1.8之后针对于Iterable接口也得到了一些扩充;
在JDK1.5开始,进行集合的使用一般都是选择Collection的两个子接口:【可重复】List接口、【不可重复】Set接口
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)