主页 > 新闻资讯 > 大数据开发基础之JAVA基础集合一

大数据开发基础之JAVA基础集合一

作者:游老师 浏览次数: 2021-03-05 14:03
前面我们讲的几篇文章类、对象、封装继承、多态、抽象类等都是关于JAVA 面向对象的使用,从昨天《异常》一章开始,就讲的是常见操作类的使用,所以今天这一章就来讲集合。其实在之前的大数据开发之java基础中,我们就有提到过这个词,但也只是简单提及,今天就来详解集合。
一、JAVA集合与JAVA数组的区别
这个可能也是许多初学者的想法,集合与数组到底有什么区别呢?我们之前的文章就有提到过数组也详细说了一维数组、二维数组的区别及基础知识,如果有忘记了的记得在我的主页里翻一翻,是上个月写得文章了。回过头来,我们来讲讲两者之间的区别,JAVA是一门面向对象的语言,就免不了处理对象,所以,为了方便操作,同时处理多个对象,我们就得把这些对象存储起来,而这时是存储多个对象的,就需要一个容器(集合)来装载。所以简单来说:集合就是JAVA给我们提供了工具方便我们去操作多个JAVA对象。
而数组呢?数组的功能也是保存对象,但是数组是需要在初始化时就制定数组长度,当我们对象超过这个数组长度时,就无法满足我们的需求,更不用说我们需要保存某个动态增长的数据了。
二、集合
集合类主要负责保存、装在其他数据,因此集合类也被叫做容器类,JAVA集合类存放在JAVA.UTIL包中,是一个用来存放对象的容器。
这里有几个点值得注意:
1、集合只能存放对象
2、集合存放的是多个对象的引用,而对象本身还是存放在对内存中
3、集合可以存放不同、不限数的数据类型
三、常用集合的分类:
Collection 接口的接口 对象的集合(单列集合)
List 接口:元素按进入先后有序保存,可重复
LinkedList 接口实现类, 链表, 插入删除, 没有同步, 线程不安全
ArrayList 接口实现类, 数组, 随机访问, 没有同步, 线程不安全
Vector 接口实现类 数组, 同步, 线程安全
Stack 是Vector类的实现类
Set 接口: 仅接收一次,不可重复,并做内部排序
HashSet 使用hash表(数组)存储元素
LinkedHashSet 链表维护元素的插入次序
TreeSet 底层实现为二叉树,元素排好序
 
Map 接口 键值对的集合 (双列集合)
Hashtable 接口实现类, 同步, 线程安全
HashMap 接口实现类 ,没有同步, 线程不安全-
LinkedHashMap 双向链表和哈希表实现
WeakHashMap
TreeMap 红黑树对所有的key进行排序
IdentifyHashMap
四、集合的方法

五、集合接口
1、collection接口,是最基本的集合接口,一个collection就代表了一组元素,JAVA不提供直接继承来自collection的类,只提供子接口,collection接口存储一组不唯一无序的对象。
2、list接口,它是一个有序collection,可以精确的控制每个元素插入,能够通过索引来查找list的元素,第一个元素索引为0且允许有相同的元素,list存储一组不唯一但有序的对象。
3、set接口,set与collection接口完全一样,但是set不能保存重复的元素,所以,set存储一组唯一且无序的对象。
4、sortedset接口,继承了set,保存有序的集合。
5、map接口,map接口存储一组键值对象,提供key(键)到value(值)的映射。
6、map.entry接口,是一map的内部接口,主要用于描述一个map中的元素。
7、sortedmap接口,也是继承于map,能让key保持在升序排列。
这里要讲一下set与list的区别
1、list按插入顺序排列,而set存储和取出顺序不一致(有序性)
2、list可重复,而set元素是唯一的(唯一性)
3、list可以使用索引来操作元素,而set无法使用索引来操作元素(获取元素)

因为JAVA集合涉及的知识点比较多,所以关于JAVA是分了两期来写的,这样也方便大家理解,免得造成阅读疲劳,所以下次更新的就是JAVA集合二。JAVA集合是一个比较重要的基础知识点,所以大家在理解的时候需要用心打好基础,以上就是本期的内容了,希望大家点个关注,精彩文章不会错过。
热点排行
推荐文章
立即申请>>