重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容介绍了“Java集合容器有什么特点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
专注于为中小企业提供网站设计、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业西塞山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
集合容器是Java开发中最基础API模块,通常用来存储运行时动态创建的元素,基本特点如下:
泛型特点,存储任意类型对象;
动态扩容,存储任意数量对象;
这里对存储数量是受到程序和内存等环境制约的,从List的get()方法中可以看出,index的范围是Integer.MAX_VALUE。
三大核心接口:List、Set继承Collection, Map独立接口
List与Set体系
List体系核心API:ArrayList,LinkedList、Vector
Set体系核心API:HashSet、TreeSet、LinkedHashSet
Queue队列API:PriorityQueue、LinkedHashSet
Map体系
Map体系核心API:HashMap、LinkedHashMap、TreeMap、Hashtable
元素存储,增删改查判断等基础用法
API方法中线程安全问题
容器初始化大小与动态扩容机制
底层数据结构特点
同一接口或者不同接口体系容器对比
基本熟练使用并理解集合容器,需要知道如上几块内容:API基础用法,线程安全问题;容器大小与扩容;结构特点,数组、链表、哈希表;
Collection:集合容器的根接口,定义公共方法;
List体系:
ArrayList
维护Object数组实现,特点:查询快,增删慢,非线程安全,所以效率高。
LinkedList
底层维护链表数据结构实现,特点:查询慢,增删快,非线程安全,所以效率高。
Vector
底部维护Object数组,实现和ArrayList一样,但是Vector是线程安全,效率低。
Set体系:
HashSet
底层是使用了哈希表来支持的,特点:存取速度快,元素唯一且无序。
LinkedHashSet
底层数据结构是链表和哈希表,链表保证元素有序性,哈希表保证元素唯一性,非线程安全。
TreeSet
数据结构是红黑树,如果元素具备自然顺序的特性,那么就按照元素自然顺序的特性进行排序,或者基于比较器自定义排序。
Map体系:
Map接口的实现类,具备的特点:存储的数据都是以键值对的方式,键不可以重复,值可重复。
HashMap
底层使用hashCode表来实现向HashMap中添加元素,允许使用null值和null键,不保证元素的顺序固定。
TreeMap
TreeMap:基于二叉树的数据结构实现的,会对具备自然特性的键进行排序存储:元素的键具备自然特性,直接排序存储;不具备自然特性,实现Comparable接口,在ComparaTo中定义排序规则。
HashTable
线程安全,相对效率低,不允许使用null值。
基于for、foreach、while流程控制
Iterable迭代器核心接口
Lambda表达式:遍历、分组、查询
“Java集合容器有什么特点”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!