java数组可以存动态类型吗 java中动态数组 您所在的位置:网站首页 定义一个数组类array java数组可以存动态类型吗 java中动态数组

java数组可以存动态类型吗 java中动态数组

2023-06-04 01:53| 来源: 网络整理| 查看: 265

@Java实现动态数组

Java中实现动态数组

在很多情况下,我们很难确定所使用的数组的确切大小,故需要在运行时动态的确定数组的大小,普通的Java数组难以实现这一功能,通常可以选择使用Vector,ArrayList实现我们的需求。

Vector

Vector是Java中为实现类似C/C++中动态数组功能的一个容器类。

所在包

java.util.Vector

特点

在API文档中解释Vector时,称其是一个动态增长的对象数组。故在使用的过程中,可以不预先设定其容量大小(最契合我们需求的功能),同时可以随意向其中插入不同类型的对象。

相比于ArrayList,Vector是线程安全的。所谓线程安全,就是在并行访问资源时,不出现错误的访问。

构造方法public Vector(); // 生成一个容量为10且自动增长值为0的向量(自动增长值为0表示在现有容量用完之后,其新容量扩大一倍) public Vector(int initialCapacity); // 构造一个初始容量为initialCapacity大小,自动增长值为0的向量 public Vector(int initialCapacity, int capacityIncrement); // 生成一个指定初始容量,且每次增长capacityIncrement大小的向量内置方法

Java中为Vector提供了多种方法,方便实现对数组的查询、插入、删除等操作。

插入元素操作add(E e) // 将指定元素插入到Vector末尾 add(int index, E element) // 将指定元素插入到指定索引的位置 addElement(E obj) // 将指定元素插入到末端 insertElementAt(E obj, int index) // 将指定元素插入到指定位置删除操作remove(int index); // 删除指定位置的元素 remove(Object o); // 删除向量中第一个存在的指定元素 removeAllElements() // 删除所有元素查询操作indexOf(Object o); // 从头开始查找指定元素,没有家具返回-1 indexOf(Object o, int index); // 从指定索引处开始搜索元素,没有返回-1其他常用操作size(); //返回Vector中实际元素个数(大小) capacity(); // 返回Vector当前容量大小选取原则

当需要使用的场景中要考虑线程安全时,可以使用Vector实现 动态数组。

ArrayList

与Vector一样,是一个动态数组。

所在包

java.util.ArrayList

特点

可以通过增加或删除元素,动态改变数组的长度;

与Vector相比,不是线程安全的,故在不考虑线程安全的场景中推荐使用,相比于Vector速度更快。

构造方法public ArrayList(); // 生成一个初始默认容量为10的对象 public ArrayList(int initialCapacity) // 生成一个指定大小的对象内置方法插入元素add(E e); // 添加指定元素到末尾 add(int index, E element); // 插入元素到指定位置 set(int index, E element); // 替换指定位置的元素删除元素clear(); // 删除list中的所有元素 remove(int index); // 删除指定位置的元素 remove(Object o); // 删除第一个指定的元素查询操作get(int index); // 返回指定位置的元素 indexOf(Object o); // 返回第一个查找到的元素的位置,没有则-1 lastIndexOf(Object o); // 返回最后一个查找到的元素,无则-1其他常用操作contains(Object o); // 查询lisi中是否包含指定元素 isEmpty(); // 检测list是否为空 size(); // 返回列表中的实际元素个数 subList(int fromIndex, int toIndex); // 截取列表 toArray(); // 转换为数组



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有