Vector类的用法

Vector类实现了AbstractList。Vector相当于动态数组,Java中我们定义数组之后,元素的个数不能发生变化,如果元素个数未知就不能使用数组,这时候就可以使用Vector。Vector对象可以存放各种对象。
Vector是一个动态数组,所以在执行过程中,会随着元素的变化调整自身的容量。
提供了4种构造函数:
public Vector();默认的构造函数,用于创建一个空的数组。
public Vector(Collection c);根据指定的集合创建数组。
public Vector(int initialCapatity); 指定数组的初始大小。
public Vector(int initialCapacity,int increment); 指定数组的初始大小,并指定每次增加的容量。
方法比较多,下面通过一个实例,该实例基本包含了主要的方法:
package com.li.collection;
import java.util.Vector;
import java.util.ListIterator;
public class VectorTest {
public static void main(String[] args) {
VectorTest vectortest = new VectorTest();
vectortest.test();
}
public void test()
{
Vector v1 = new Vector();
//创建v1对象
v1.add("1a");
v1.addElement("1b");
//使用两种不同的方式添加元素
//下面的代码采用不同的方式显示对象信息,
System.out.println("-------------------使用不同的方式进行显示-----------");
System.out.println("show");
show(v1);//使用Vector提供的方法遍历
System.out.println("show1");
show2(v1);//使用跌代进行遍历
System.out.println("show2");
show3(v1);//转换成数组进行遍历
//创建v2并添加对象
Vector v2 = new Vector();
v2.add("2a");
v2.add("2b");
//创建v并添加对象
Vector v = new Vector();
v.addAll(v1);//添加一个集合
System.out.println("-------------------添加一个集合后-----------");
show(v);//显示
v.addAll(1,v2);//在指定的位置添加集合
System.out.println("-------------------在1位置添加一个集合-----------");
show(v);
v.add(3,"3a");//在指定的位置添加元素
System.out.println("-------------------在3位置添加一个元素-----------");
show(v);
System.out.println("当前容量:"+v.capacity()+" 当前元素个数:"+v.size());
v.set(3,"4d");//修改指定位置的元素
System.out.println("-------------------修改3位置为4d-----------");
show(v);
v.setElementAt("4e",3);//修改指定位置的元素
System.out.println("-------------------修改3位置为4e-----------");
show(v);
v.add("4e");
System.out.println("-------------------添加4e后-----------");
show(v);
int f1 = v.indexOf("4e");//查找4e第一次出现的位置
int l1 = v.lastIndexOf("4e");//查找4e最后一次出现的位置
int f2 = v.indexOf("4e",4);//从4开始4e第一次出现的位置
int l2 = v.lastIndexOf("4e",4);//4之前4e最后一次出现的位置
System.out.println("4e第一次出现的位置:"+f1+"从4开始4e第一次出现的位置"
+f2+"4e最后一次出现的位置:"
+l1+"4之前4e最后一次出现的位置"+l2);
String temp = (String)v.firstElement();
System.out.println("第一个元素:"+temp);
temp = (String)v.lastElement();
System.out.println("最后一个元素:"+temp);
v.remove(2);//删除指定位置的元素
System.out.println("-------------------在2位置删除一个元素-----------");
show(v);
boolean bt = v.contains("2a");//判断是否包含2a
System.out.println("是否包含2a:"+bt);
System.out.print("V1元素:");
show(v1);
bt = v.containsAll(v1);//判盘是否包含v1
System.out.println("是否包含v1:"+bt);
System.out.print("V2元素:");
show(v2);
bt = v.containsAll(v2);//判断是否包含v2
System.out.println("是否包含v2:"+bt);
v.remove("3a");//删除某个特定的元素
System.out.println("-------------------删除元素3a-----------");
show(v);
v.removeElement("1b");
System.out.println("-------------------删除元素1b-----------");
show(v);
v.removeElementAt(0);
System.out.println("-------------------删除0位置元素-----------");
show(v);
bt = v.isEmpty();
System.out.println("是否为空:"+bt);
v.clear();
System.out.println("-------------------清空后-----------");
show(v);
bt = v.isEmpty();
System.out.println("是否为空:"+bt);
}
public void show(Vector v)
{
StringBuffer sb = new StringBuffer("elements:");
for(int i=0;i<v.size();i++)//通过获取每一个元素来遍历
{
if(i%2==0)
sb.append((String)v.elementAt(i)); //通过elementAt(i)获取元素
else
sb.append((String)v.get(i)); //通过get(i)获取元素
sb.append(" ");
}
System.out.println(sb.toString());
}
public void show2(Vector v)
{
StringBuffer sb = new StringBuffer("elements:");
//通过跌代进行遍历
ListIterator li = v.listIterator();
while(li.hasNext())
{
sb.append((String)(li.next()));
sb.append(" ");
}
System.out.println(sb.toString());
}
public void show3(Vector v)
{
StringBuffer sb = new StringBuffer("elements:");
//先转换成数组,然后对数组进行遍历
Object o[] = v.toArray();
for(int i=0;i<o.length;i++)
{
sb.append((String)o[i]);
sb.append(" ");
}
System.out.println(sb.toString());
}
}
运行的结果如下:
-------------------使用不同的方式进行显示-----------
show
elements:1a 1b
show1
elements:1a 1b
show2
elements:1a 1b
-------------------添加一个集合后-----------
elements:1a 1b
-------------------在1位置添加一个集合-----------
elements:1a 2a 2b 1b
-------------------在3位置添加一个元素-----------
elements:1a 2a 2b 3a 1b
当前容量:10 当前元素个数:5
-------------------修改3位置为4d-----------
elements:1a 2a 2b 4d 1b
-------------------修改3位置为4e-----------
elements:1a 2a 2b 4e 1b
-------------------添加4e后-----------
elements:1a 2a 2b 4e 1b 4e
4e第一次出现的位置:3从4开始4e第一次出现的位置54e最后一次出现的位置:54之前4e最后一次出现的位置3
第一个元素:1a
最后一个元素:4e
-------------------在2位置删除一个元素-----------
elements:1a 2a 4e 1b 4e
是否包含2a:true
V1元素:elements:1a 1b
是否包含v1:true
V2元素:elements:2a 2b
是否包含v2:false
-------------------删除元素3a-----------
elements:1a 2a 4e 1b 4e
-------------------删除元素1b-----------
elements:1a 2a 4e 4e
-------------------删除0位置元素-----------
elements:2a 4e 4e
是否为空:false
-------------------清空后-----------
elements:
是否为空:true
别再搞混了!MATLAB通信仿真中EbN0转SNR的保姆级公式推导与避坑指南 本文深入解析MATLAB通信仿真中EbN0与SNR转换的核心公式,揭示数字仿真与理论系统的关键差异。通过真实案例展示错误参数设置导致的隐蔽问题,并提供完整的参数自查清单和正确实现代码,帮助工程师和学生避免常见错误,确保仿真结果准确可靠。 阅读详情

相关推荐

最小路径和——动态规划求解(Java实现)

最小路径和——动态规划求解(Java实现) 题目: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小。 这题和机器人走路的思路类似,就是状态方程有所不同,...

weixin_43395911的博客 895

Vector的使用

vector的使用

m0_74022486的博客 1561

浅析ArcGis中的软件——ArcMap、ArcScene、 ArcGlobe、ArcCatalog

ArcMap:是集空间数据显示、矢量数据编辑、冲突数据检查(拓扑检查)、查询检索(地理编码)、统计(字段属性表)、报表生成、空间分析(ArcGIS Spatial Analyst)和高级制图(制图表达)等众多功能干一体的桌面应用平台软件。而且提供所见即所得的符号编辑器,令用户可以随心所欲地生成任意复杂的点、线、面符号。所支持的空间数据格式包括Arclnfo coverages、ESRI shapefiles、ArcSDE lavers、DXF、DWG、DGN、常见的图像格式、GRIDs、TINs等。

lxlmycsdnfree的博客 6566

向vector对象中添加元素

《C++ Primer》学习记录: 向vector对象中添加元素,

qq_53914247的博客 1万+

群晖NAS从入门到精通的所有帖子汇总,只要这一篇就够了

本站陆陆续续的转载、原创帖子也有十几二十篇了,从不同的角度对群晖NAS的各种骚操作都有深入的讲解,虽然很多文章都不是讲的很深入,但是针对小白入门已经是足够了,希望对小白来说是一个入门,群晖NAS的大佬们勿喷,哪里写的不对的,请随时留言西安SEO优化站长一定在第一时间纠正修改。

西安SEO优化网站资源 8万+

huggingface 镜像站推荐

在做 Ai 应用开发或者学习的时候,我们经常需要下载各种模型,而 huggingface 的模型下载速度很慢或者根本就连不上,这里推荐一个 huggingface 的镜像站,速度很快,可以大大提高我们的效率。

t951984189的博客 1万+

Vector类的使用

Vector类的使用在jsp 页面 中得到一些vector数据类型:数组,把它转换成string ,顺便把string如:string="ss,ww,ee,"转换成vector数据类型  StringBuffer sb = new StringBuffer();for(int i=0; i{sb.append((String)vector.get(i)).append(",

菜菜鸟_黑马的专栏 1188

存内计算路线再获加持,清华存内芯片登Science

通过这种方法,可以比较有效的控制二氧化铪忆阻层中的微观变化,以及内部的温度和电场,使得器件具有非常优异的电学特性,而且可以在工厂里大规模生产,推动了高性能忆阻器阵列的诞生。团队搭建了全硬件构成的完整存算一体系统,如下图7所示,在系统里集成了多个忆阻器阵列,并在该系统上高效运行了卷积神经网络算法,成功验证了图像识别功能,证明了存算一体架构全硬件实现的可行性,并且成功实现了以更小的功耗和更低的硬件成本完成复杂的计算[6]。根据测试,在一般神经网络中权重更新的最后阶段,调整步长非常接近0,如图9(C)所示,

PXX12345678的博客 1557

vector数组 java_Java——数组、向量(Vector)详解

数组一维数组初始化方式:1. int []arr=new int[5]; 和int arr[] = new int[5];效果是一样的,不过开发中推荐前者。2. int[]arr = new int[]{3,5,1,7};或者简化为int []arr = {3,5,1,7};二维数组定义方式//直接为每一维分配空间int a[][] = new int[2][3];//依次为每一维分配空间int ...

weixin_33487811的博客 2031

SAP-MM-采购申请字段解析

采购申请抬头以及行项目字段解析

yanzibing99的博客 7306

解锁RK3588多屏异显:MIPI+HDMI+EDP混合输出全攻略

本文详细介绍了RK3588处理器在MIPI+HDMI+EDP混合输出配置中的技术实现与应用。作为一款高性能处理器,RK3588凭借其强大的图形处理能力,支持多屏异显功能,可满足智能安防、工业控制等领域的多屏显示需求。文章从硬件连接、设备树配置、内核驱动设置到显示参数调整,系统阐述了配置流程,并针对信号不稳定、显示模式不匹配等常见问题提供了解决方案。通过智能安防监控案例,展示了该技术在提高监控效率方面的实际应用价值。随着技术进步,RK3588多屏异显技术将在更多领域发挥重要作用,为开发者提供灵活多样的显示方案

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2434

JAVA中的Vector类用法整理

新的一天,新的知识; 和C语言一样,java中的数组只能保存固定数目的元素,且必须把所有需要的内存单元一次性申请出来。 而不能创建数组再追加数组元素数量。为了解决这个问题,Java中引入了向量类Vector。 一、 首先Vector类有三种构造方法: 1. Vector v1=new Vector();//构造一个空向量; 2 Vector v2=new Vector(100);//指定初始存储量100 3 Vector v3=new Vector(100,50);//指定初始存储量100和容量增量5

weixin_46726346的博客 1万+

基于51单片机的智能台灯设计:嵌入式程序设计实现

随着智能家居和物联网的快速发展,智能台灯作为一种典型的智能家居产品,已成为现代家庭中不可或缺的设备。传统的台灯只能提供简单的照明功能,而智能台灯不仅具备基础的照明功能,还能根据用户的需求进行自动调节,比如自动调节亮度、色温,甚至具备定时开关、远程控制等智能功能。本文将介绍如何基于51单片机设计一款智能台灯。我们将涉及硬件设计、嵌入式系统架构、传感器选择、调光控制、语音识别、远程控制等方面,详细阐述如何实现这些功能,并给出相关的代码和实现步骤。

2201_76125393的博客 837

java list和vector_迅速掌握Java容器中常用的ArrayList类与Vector类用法

这篇文章主要介绍了Java容器中常用的ArrayList类与Vector类用法,文中只对其最基本的功能给出了示例代码,需要的朋友可以参考下ArrayList类List集合的实例化:List l = new ArrayList(); //使用ArrayList类实例化List集合List l2 = new LinkedList(); //使用LinkedList类实例化List集合ArrayList...

weixin_42396932的博客 190

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Vector 类用法

Vector 类提供了实现可增长数组的功能,随着更多元素加入其中,数组变的更大。在删除一些元素之后,数组变小。  Vector 有三个构造函数:  public Vector(int initialCapacity,int capacityIncrement)  public Vector(int initialCapacity)  public Vector()  Vector 运行时创建一个初

yehell的专栏 819

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

vector类基本用法

vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 : #include 使用vector有两种不同的形式,即所谓的数组习惯和 STL习惯。 一、数组习惯用法 1. 定义一个已知长度的 vector : vector ivec( 10 ); //类似数

Young 865

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java的常用类vector,迅速掌握Java容器中常用的ArrayList类与Vector类用法

ArrayList类List集合的实例化:List l = new ArrayList(); //使用ArrayList类实例化List集合List l2 = new LinkedList(); //使用LinkedList类实例化List集合ArrayList常用方法:add(int index, Object obj);addAll(int, Collection coll);remove(i...

weixin_27283495的博客 141

C++基础——vector类用法总结

一、C++ vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分,使用时需包含头文件: #include &lt;vector&gt; 二、C++ vector类有两种使用方式: 第一种:STL方式 vector&lt; st...

joel的博客 1万+

java类vector的详细用法整理

Vector v=new Vector(); E可以是泛型类,如Stirng,可以自定义,感觉E很像但链表中的节点定义,Vector则是数组 具体用法如下 ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些 import java.util.*;   /** * 演示Vector的使用。包括Vector的创建、向Vec

lskyne的专栏 1万+

vector类 的属性和用法

vector简介        vector是STL中最常见的容器,它是一种顺序容器,支持随机访问。vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似,不同的地方就是:数组是静态分配空间,一旦分配了空间的大小,就不可再改变了;而vector是动态分配空间,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量。         vector的扩充机制:按照容器现在容量...

Linux_bin的博客 1万+

关于vector在类中的声明用法

关于vector在类中的声明用法

zwl613613613的博客 8385

Vector解析——Vector类的用法

在程序设计中,经常遇到需要用一个集合作为容器来包含众多元素,而各个元素的类型及集合中元素的个数又无法预知的情况。如果这些元素类型之间都存在继承关系,那么从类的继承性的概念出发,可以将这个集合容器的类型设为它们的父类类型,由赋值兼容原则可以实现这种要求。但实际情况却不是这么理想,往往所有元素都是杂乱无章的,也就是说,各个元素的类型是不相同的,那么使用父类集合作为容器的想法就行不通了,这时可以用到Ve...

格局、视野、认知 921

【十一】【C++】vector类常见用法

是C++标准模板库(STL)中提供的一种序列容器,可以存储任意类型的对象(通过模板参数指定),对象存储在连续的内存空间中。vector提供了动态数组的功能,但比普通数组更灵活、更安全。以下是要使用,需要包含头文件<vector>。

m0_74163972的博客 1940

C++——vector类用法指南

C++标准库中vector的简单使用指南,配合文档使用更佳~

hu_143的博客 716

vector用法 java_Java编程中的vector类用法学习笔记

java.util.vector提供了向量类(vector)以实现类似动态数组的功能。在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大大提高程序的质量。比如在c,c++中所谓的“动态数组”一般都由指针来实现。为了弥补这个缺点,Java提供了丰富的类库来方便编程者使用,vector类便是其中之一。事实上,灵活使用数组也可以完成向量类的功能,但向量类中提供大量的方法大大方便了用户的...

weixin_26789847的博客 373
上一篇: Math类的常用方法
下一篇: 迭代器Iterator的用法
Java_Web_Book
博客等级 码龄18年 8粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值