java中容器的概念,java常用容器有哪几种

  java中容器的概念,java常用容器有哪几种

  1. 什么是容器

  在Java中,有一个类专门用来存储其他类的对象。这个类叫做容器,是由几个具有相同或相似属性的类对象组合而成的一个整体。

  几种常见容器介绍:

  学习视频教程推荐:java教学视频

  1. List

  的有序集合(也称为序列)。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以根据整数索引(在列表中的位置)访问元素,并在列表中搜索元素。与集合不同,列表通常允许重复的元素。

  Arraylist:对象数组

  向量:对象数组

  LinkedList:双链表(JDK1.6之前是循环链表,JDK1.7取消了循环)

  2. Set

  不包含重复元素的集合。更具体地,set不包含满足e1.equals(e2)的一对元素e1和e2,并且最多包含一个空元素。顾名思义,这个接口模拟了数学集合抽象。

  HashSet (unordered,unique):基于HashMap,底层使用HashMap保存元素。

  LinkedHashSet: LinkedHashSet继承自HashSet,其内部通过LinkedHashMap实现。

  LinkedHashmap在内部是基于Hashmap的实现,但还是有一点区别。

  ESET(有序,唯一):红黑树(自平衡排序二叉树)。

  3. Map

  将键映射到值的对象。映射不能包含重复的键;每个键最多只能映射到一个值。

  Hashmap:在JDK 1.8之前,HashMap是由数组链表组成的,数组是HashMap的主体,而链表主要是为了解决哈希冲突而存在(“拉链法”解决冲突)。JDK1.8之后,在解决哈希冲突方面有了很大的改变。当链表的长度大于阈值(默认为8)时,链表将被转换为红黑树以减少搜索时间。

  LinkedHashMap: LinkedHashMap继承自HashMap,所以它的底层还是基于zipper hash结构,即由数组和链表或者红黑树组成。

  另外,在上述结构的基础上,LinkedHashMap增加了一个双向链表,使得上述结构可以保持键值对的插入顺序。同时,访问顺序的相关逻辑通过链表的相应操作来实现。

  Hashtable:由数组链表组成。数组是HashMap的主体,链表的存在主要是为了解决哈希冲突。

  EMAP:红黑树(自平衡排序二叉树)

  4. Queue

  用于在处理元素之前保存元素的集合。除了基本的收集操作,队列还提供其他插入、提取和检查操作。

  相关文章教程推荐:java语言入门。以上是java里容器是什么意思的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: