Java集合简介与vector

/**作者:呆萌老师*?csdn认证讲师*?51cto高级讲师*?腾讯课堂认证讲师*?网易云课堂认证讲师*?华为开发者学堂认证讲师*?爱奇艺千人名师计划成员*在这里给大家分享技术、知识和生活*各种干货,记得关注哦!*/

1、什么是集合框架

集合我们又常称集合框架。集合与数组都是对多个数据进行存储操作的结构,也是JAVA当中的容器。JAVA集合就像一种容器,可以动态地把多个对象的引用放入容器中。在开发中我们以数据结构为载体,以对象值的固定为目标,对集合展开研究。

2、集合框架的结构

编辑

3、什么是Vector

vector又称向量,是一种古老的存储方式,其底层实现是由不可变动的数组实现。不可变是指存储空间地址不可改且存储空间连续。

又因为vector大量使用了synchronized关键字去修饰操作方法,从而使得其为线程安全的,相对应的操作效率大大降低,又因为其扩容机制是每次扩容2倍,相比较于ArrayList的1.5倍扩容而言,申请的空间又过多,因此,到目前渐渐地被ArrayList替代。

编辑

4、vector扩容因子

protected int

5、扩容源码

vector扩容每一次是以两倍扩容。

private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE – 8; private void grow(int { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + ((capacityIncrement > 0) ? capacityIncrement : oldCapacity); if (newCapacity – minCapacity < 0) newCapacity = minCapacity; if (newCapacity – MAX_ARRAY_SIZE > 0) newCapacity = hugeCapacity(minCapacity); elementData = Arrays.copyOf(elementData, newCapacity); } private static int hugeCapacity(int { if (minCapacity < 0) // overflow throw new OutOfMemoryError(); return

6、vector特点

1、查询快

由于vector底层是由一个数组构成,因此其查询相对而言较快。

2、线程安全

7、vector使用

import java.util.ArrayList;import java.util.Arrays;import java.util.Enumeration;import java.util.Iterator;import java.util.Vector; public class ArrayListExample { public static void main(String[] args) { //Vector Vector<String> vector = new Vector<>(Arrays.asList(“A”,”B”,”C”)); Enumeration<String> vectorEnums = vector.elements(); while(vectorEnums.hasMoreElements()) { String value = vectorEnums.nextElement(); if(“B”.equals(value)) { vector.add(“D”); } System.out.println(value); } }}

更多关注

??https://edu.51cto.com/topic/3338.html??

擒龙要下海,打虎要上山。

Java集合简介与vector

相关文章:

你感兴趣的文章:

标签云: