随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。

简介:

从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接口

 

 

posted on 2022-03-11 15:32  时间完全不够用啊  阅读(48)  评论(0编辑  收藏  举报