随着时代的进步和发展,java的学习越来越重要。 今天,我们将介绍java容器类,它是java的概念之一。 java容器类包含什么内容,分别是什么意思?
首先,java容器类通常包括列表、ArrayList、Vector和map、HashTable和HashMap。
其中,ArrayList和HashMap是异步的,Vector和HashTable是同步的,因此Vector和HashTable是线程安全的
ArrayList和HashMap不是线程安全的。 因为同步需要很长的机器时间,所以矢量和哈希表的执行效率很低
ArrayList和HashMap。
接下来,分别简单说明
1.List是规则的Collection,使用此接口可以精确控制每个元素的插入位置。 用户可以使用索引访问List中的元素。 这类似于java的数组。 Collection接口所需的iterator (除了方法之外,List还提供listIterator )方法,与标准iterator接口相比,listIterator方法
也可以向前或向后遍历。 实现List接口的一般类是链接列表、ArrayList、Vector和堆栈。
2.ArrayList类
ArrayList实现了可变大小的数组。 允许所有元素,包括空值。 ArrayList不同步。 每个ArrayList实例都有一个“容量”(Capacity ),它是用于存储元素的数组的大小。 容量会随着新元素的添加而自动增加,但没有定义增长算法。 如果需要插入大量元素,可以在插入之前调用ensureCapacity方法来增加ArrayList的容量以提高插入效率。
与链接列表一样,阵列列表也是异步的。
3.Vector类
Vector与ArrayList非常类似,但Vector是同步的。 矢量创建的Iterator与ArrayList创建的Iterator具有相同的接口,但由于矢量已同步,因此一个Iterator已创建并正在使用中,另一个线程将更改矢量的状态
4 .映射接口
Map不继承Collection接口,Map提供key到value的映射。 一个映射不能包含相同的密钥。 每个key只能映射一个
蓝色。 Map接口提供了三个集合的视图。 映射的内容可以是key集合、value集合或一组key-value映射。
6.HashMap类
HashMap和Hashtable相似,不同之处在于HashMap是异步的,允许为null,即null value和null
钥匙。 然而,如果HashMap被认为是Collection,则重复子操作时间的开销与HashMap的容量成比例。 因此,如果迭代操作的性能非常重要,HashMap的初始化容量不能太高或load factor不能太低。
5.Hashtable类
Hashtable继承Map接口,实现key-value映射的哈希表。 非空对象可以用作key或value。
使用put (密钥,值)添加数据,get (密钥)添加数据,这两个基本操作的时间开销是恒定的。
Hashtable通过两个参数调整性能: initial capacity和load factor。 Hashtable正在同步。
6.HashMap类
HashMap和Hashtable相似,不同之处在于HashMap是异步的,允许为null,即null value和null
钥匙。 然而,如果HashMap被认为是Collection,则重复子操作时间的开销与HashMap的容量成比例。 因此,如果迭代操作的性能非常重要,HashMap的初始化容量不能太高或load factor不能太低。
以上是关于包含在java中的容器类中以及它们分别具有什么意义的大致内容。 如果想了解更多关于java的常见问题,请关注奇q工具网。
请阅读: