这篇文章主要介绍“什么是Collection接口”,在日常操作中,相信很多人在什么是Collection接口问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是Collection接口”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
从JDK1.2开始,Java中引入了类集开发框架,所谓的类集指的是一套动态对象数组的实现方案,在实际开发中,没有任何一项开发可以离开数组,但是传统的数组实现起来非常的繁琐,而且长度是其致命伤,正是因为长度问题,所以传统的数组是不可能大范围使用的,但是开发又离不开数组,所以最初就只能依靠一些数据结构来实现动态的数组处理,而其中最为重要的两个结构:链表、树。但是面对这些数据结构的实现,又不得不面对如下的一些问题:
数据结构的代码实现困难,对于一般的开发者是无法进行使用的;
对于链表或二叉树当进行更新处理的时候,维护是非常麻烦的;
对于链表或二叉树还需要尽可能保证其操作的性能;
正是因为这样的原因,所以从JDK1.2开始Java引入了类集,主要就是对常见的数据结构进行完整的实现包装,并提供了一系列的接口与实现子类,来帮助用户减少数据结构所带来的开发困难。但是最初的类集实现由Java本身的技术所限,所以对于数据的控制并不严格,全部采用了Object类型进行数据接收,而在JDK1.5后由于泛型将技术的推广,所以类集本身也得到了良好的改进,可以直接利用泛型来保存相同类型的数据,并且随着数据量的不断增加,从JDK1.8开始类集的实现算法也得到了良好的性能提升。
在整个类集框架中,提供了如下几个核心接口:Collection、List、Set、Map、Iterator、Enumeration、Queue、ListIterator。
java.util.Collection是单值集合操作的最大的父接口,在该接口中定义有所有的单值数据的处理操作,这个接口中定义了如下的核心操作方法:
No. | 方法名称 | 类型 | 描述 |
---|---|---|---|
01 | public boolean add(E e) | 普通 | 向集合保存数据 |
02 | public boolean addAll(Collection<? extends E> c) | 普通 | 追加一组数据 |
03 | public void clear() | 普通 | 清空集合,让根节点为空,同时执行GC处理 |
04 | public boolean contains(Object o) | 普通 | 查询数据是否存在,需要equals()方法支持 |
05 | public boolean remove(Object o) | 普通 | 数据删除,需要equals()方法支持 |
06 | public int size() | 普通 | 获取数据长度,最大值为Integer.MAX_VALUE |
07 | public Object[] toArray() | 普通 | 将集合变为对象数组返回 |
08 | public Iterator<E> iterator() | 普通 | 将集合变为Iterator接口返回 |
在进行集合操作时,有两个方法最为常用:【增加】add()、【输出】iterator()。
在JDK1.5版本之前,Collection只是一个独立的接口,但是从JDK1.5后,提供了Iterable父接口,并且在JDK1.8后针对于Iterable接口也得到了一些扩充。另外,在JDK1.2~JDK1.4的时代里面,如果要进行集合的使用往往会直接操作Collection接口,但是从JDK1.5时代开始更多的情况下选择的都是Collection的两个子接口:允许重复的List子接口、不允许重复的Set子接口;
到此,关于“什么是Collection接口”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。