java中vector
『壹』 java中vector是什么有什么作用
翻译过来就是向量,数据结构了类似于List,区别在于Vector是线程安全的,所以效率低于List。
『贰』 java中的vector 是什么意思呢
java中vector和数据非常类似,两者之间也经常成对出现,下面是两者的比较:
1、数组:java arrays的元素个数不能下标越界,从很大程度上保证了java程序的安全性,但创建时必须指定数组的大小,并不能再改变。
2、vector:对比于array,当更多的元素被加入进来以至超出其容量时,vector的size会动态增长,而array容量是定死的。同时,vector在删除一些元素后,其所有下标大于被删除元素的元素都依次前移,并获得新下标比原来的小了)。
『叁』 Java中Vector的定义
Vector 可实现自动增长的对象数组。
java.util.vector提供了向量类(vector)以实现类似动态数组的功能。在Java语言中没有指针的概念,但如果正确灵活地使用指针又确实可以大大提高程序的质量。比如在c,c++中所谓的“动态数组”一般都由指针来实现。为了弥补这个缺点,Java提供了丰富的类库来方便编程者使用,vector类便是其中之一。事实上,灵活使用数组也可以完成向量类的功能,但向量类中提供大量的方法大大方便了用户的使用。
创建了一个向量类的对象后,可以往其中随意插入不同类的对象,即不需顾及类型也不需预先选定向量的容量,并可以方便地进行查找。对于预先不知或者不愿预先定义数组大小,并且需要频繁地进行查找,插入,删除工作的情况。可以考虑使用向量类。
向量类提供了三种构造方法:
public vector()
public vector(int initialcapacity,int capacityIncrement)
public vector(int initialcapacity)
举例说明:
import java.util.Vector;
import java.lang.*;
import java.util.Enumeration;
public class VectorApp
{
public static void main(String args[])
{
Vector v1 = new Vector();
Integer integer1= new Integer(1);
//加入为字符串对象
v1.addElement("one");
//加入的为integer的对象
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement("two");
v1.addElement(new Integer(2));
v1.addElement(integer1);
v1.addElement(integer1);
//转为字符串并打印
System.out.println("The Vector v1 is:\n\t"+v1);
//向指定位置插入新对象
v1.insertElement("three",2);
v1.insertElement(new Float(3.9),3);
System.out.println("The Vector v1(used method
insertElementAt()is:\n\t)"+v1);
//将指定位置的对象设置为新的对象
//指定位置后的对象依次往后顺延
v1.setElementAt("four",2);
System.out.println("The vector v1 cused method setElmentAt()is:\n\t"+v1);
v1.removeElement(integer1);
//从向量对象v1中删除对象integer1
//由于存在多个integer1,所以从头开始。
//找删除找到的第一个integer1.
Enumeration enum = v1.elements();
System.out.println("The vector v1 (used method removeElememt()is");
while(enum.hasMoreElements())
System.out.println(enum.nextElement()+"");
System.out.println();
//使用枚举类(Enumeration)的方法取得向量对象的每个元素。
System.out.println("The position of Object1(top-to-botton):"+v1.indexOf(integer1));
System.out.println("The position of Object1(tottom-to-top):"+v1.lastIndexOf(integer1));
//按不同的方向查找对象integer1所处的位置
v1.setSize(4);
System.out.println("The new Vector(resized the vector)is:"+v1);
//重新设置v1的大小,多余的元素被抛弃
}
}
运行结果:
运行结果:
E:\java01>java VectorApp
The vector v1 is:[one,1,1,two,2,1,1]
The vector v1(used method insetElementAt()) is:
[one,1,three,3.9,1,two,2,1,1]
The vector v1(used method setElementAt()) is:
[one,1,four,3.9,1,two,2,1,1]
The vector v1(useed method removeElement()) is:
one four 3.9 1 two 2 1 1
The position of object1(top-to-botton):3
The position of object1(botton-to-top):7
The new Vector(resized the vector) is:
[one,four,3.9,1]
『肆』 java中vector是什么
importjava.util.Enumeration;
importjava.util.Vector;
/*
*Vector的特有功能:
*1:添加功能
* publicvoidaddElement(Objectobj) -- add()
*2:获取功能
* publicObjectelementAt(intindex) --get()
* publicEnumerationelements() -- Iteratoriterator()
* booleanhasMoreElements() hasNext()
* ObjectnextElement() next()
*
*JDK升级的原因:
* A:安全
* B:效率
* C:简化书写
*/
publicclassVectorDemo{
publicstaticvoidmain(String[]args){
//创建集合对象
Vectorv=newVector();
//添加功能
v.addElement("hello");
v.addElement("world");
v.addElement("java");
//遍历
for(intx=0;x<v.size();x++){
Strings=(String)v.elementAt(x);
System.out.println(s);
}
System.out.println("------------------");
Enumerationen=v.elements();//返回的是实现类的对象
while(en.hasMoreElements()){
Strings=(String)en.nextElement();
System.out.println(s);
}
}
}
『伍』 java中Vector的使用
import java.util.Vector;
public class Test {
public static void main(String[] args) {
Vector<Student> vector = new Vector<Student>();
Student stu1 = new Student("Zhang San", "001", 1);
Student stu2 = new Student("Li Si", "003", 2);
Student stu3 = new Student("Wang wu", "007", 3);
vector.add(stu1);
vector.add(stu2);
vector.add(stu3);
for(Student stu: vector){
System.out.println(stu.toString());
}
}
}
class Student{
private String name;
private String sno;
private int grade;
public Student(String name, String sno, int grade){
this.name = name;
this.sno = sno;
this.grade = grade;
}
public String toString(){
return name +": " + name + ", sno: " + sno +", Grade: " + grade;
}
}
---------------------------
Zhang San: Zhang San, sno: 001, Grade: 1
Li Si: Li Si, sno: 003, Grade: 2
Wang wu: Wang wu, sno: 007, Grade: 3
列表把vectore里面的对象放到列表中,插入值需要vectore.add(object);,修改:根据索引去更新student对象;删除:从vectore里面删除;浏览:迭代取vectore; 统计人数:返回vectore。size()
『陆』 java中Vector的用法是什么
向量 跟数组很相似 不过功能比数组强大 创建方法和数组一样 用法的话就比数组好用多了 具体的使用方法网上有很多你去好好看看吧
『柒』 java中vector是
Vector 类 提 供 了 实 现 可 增 长 数 组 的 功 能, 随 着 更 多 元 素 加 入 其 中, 数 组 变 的 更 大。 在 删 除 一 些 元 素 之 后, 数 组 变 小。
Vector 有 三 个 构 造 函 数,
public Vector(int initialCapacity,int capacityIncrement)
public Vector(int initialCapacity)
public Vector()
---- Vector 运 行 时 创 建 一 个 初 始 的 存 储 容 量initialCapacity, 存 储 容 量 是 以capacityIncrement 变 量 定 义 的 增 量 增 长。 初 始 的 存 储 容 量 和capacityIncrement 可 以 在Vector 的 构 造 函 数 中 定 义。 第 二 个 构 造 函 数 只 创 建 初 始 存 储 容 量。 第 三 个 构 造 函 数 既 不 指 定 初 始 的 存 储 容 量 也 不 指 定capacityIncrement。
---- Vector 类 提 供 的 访 问 方 法 支 持 类 似 数 组 运 算 和 与Vector 大 小 相 关 的 运 算。 类 似 数 组 的 运 算 允 许 向 量 中 增 加, 删 除 和 插 入 元 素。 它 们 也 允 许 测 试 矢 量 的 内 容 和 检 索 指 定 的 元 素, 与 大 小 相 关 的 运 算 允 许 判 定 字 节 大 小 和 矢 量 中 元 素 不 数 目。
---- 现 针 对 经 常 用 到 的 对 向 量 增, 删, 插 功 能 举 例 描 述:
addElement(Object obj)
---- 把 组 件 加 到 向 量 尾 部, 同 时 大 小 加1, 向 量 容 量 比 以 前 大1
insertElementAt(Object obj, int index)
---- 把 组 件 加 到 所 定 索 引 处, 此 后 的 内 容 向 后 移 动1 个 单 位
setElementAt(Object obj, int index)
---- 把 组 件 加 到 所 定 索 引 处, 此 处 的 内 容 被 代 替。
---- removeElement(Object obj) 把 向 量 中 含 有 本 组 件 内 容 移 走。
---- removeAllElements() 把 向 量 中 所 有 组 件 移 走, 向 量 大 小 为0。
---- 例 如:
import java.lang.System;
import java.util.Vector;
import java.util.Emumeration;
public class Avector{
public static void main(String args[])
{
0. Vector v=new Vector();
1. v.addElement("one");
2. addElement("two");
3. v.addElement("three");
4. v.insertElementAt("zero",0);
5. v.insertElementAt("oop",3);
6. v.setElementAt("three",3);
7. v.setElementAt("four",4);
8. v.removeAllElements();
}
}
Vector中的变化情况:
1. one 2. one 3. one 4. zero 5.zero 6. zero 7. zero
8.
two two one one one one
three two two two two
three oop three three
three three four
---- 另 外,Vector 在 参 数 传 递 中 发 挥 着 举 足 轻 重 的 作 用。
---- 在Applet 中 有 一 块 画 布(Canvas) 和 一 个(Panel), 而Panel 中 放 着 用 户 要 输 入 的 信 息, 根 据 这 些 信 息 把 参 数 传 递 到canvas 中, 这 时 在Java 中 用 一 个 接 口(Interface), 而 在 接 口 中 需 用 一 个Vector 去 传 递 这 些 参 数。 另 外, 在 一 个 类 向 另 一 个 类 参 数 传 递 就 可 以 用 这 种 方 法。
---- 例 如:
import java.util.Vector
interface codeselect{
Vector codeselect=new Vector();
}
显示数学信息
Vector(0)存入学生编号
Vector(1)存入学科
---- 在Panel 中 当 用 户 在 TextField 和Choice 中 选 择 自 己 所 要 求 的 内 容, 程 序 中
---- 通 过 事 件 响 应 把 值 传 到 向 量Vector 中。
---- 假 若 在Panel 类 中:
public void codepanel extends Panel{
public void init()
{
**.
TextField s=new TextField();
Choice c=new Choice();
c. addItem("语文");
c.addItem("数学");
c.addItem("政治");
add(s);
add (c);
**
}
public boolean handleEvent(Event event){
if(event.id==Event.ACTION_EVENT){
if(event.target.instanceof Textfield)
{
coderesult.setElementAt(s.getText(),0);
}
else if(event.target intanceof Choice)
{
coderesult.setElementAt(new Integer(c.getSelectedIndex()),1);
}
}
}
}
---- 这 时, 向 量 中 已 经 存 入 学 生 编 号 和 学 科 索 引 号(0 为 语 文,1 为 数 学,2 为 政 治)。
---- 而 在Canvas 中 得 到 此 值,
public class codecanvas extends Canvas{
public void code{
}
public void paint{
String str;
int t;
str=(String)coderesult.elementAt(0);
t=(new Integer(codeselect.elementAt(1).toString())).intValue();
if(t==0)
{
显示语文信息
}
else if(t==1)
{
显示数学信息
}
else if(t==2)
{
显示政治信息
}
}
}
『捌』 Java中vector的用法
importjava.util.Scanner;
importjava.util.Vector;
publicclassTest{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Scannerinput=newScanner(System.in);
System.out.print("请输入总人数:");
intp=input.nextInt();
/****初始化人员***/
Vector<Integer>v=newVector<Integer>();//初始化人员并进行编号
for(inti=1;i<=p;i++){
v.add(newInteger(i));
System.out.print(i+"");
}
/****报号***/
intnum=0;
while(v.size()>1){
for(inti=0;i<v.size();i++){
num++;
if((num%3)==0){
v.remove(i);
i--;
}
}
}
/*****结果*****/
for(inti=0;i<v.size();i++){
System.out.println(" 最后剩下的数是:"+v.get(i));
}
}
}
『玖』 java中Vector的用法
final class A
{
public Vector<Integer> intint = new Vector<Integer>(); //放整型数据容器
public Vector<String> stringstring = new Vector<String>(); //放字符串容器
public Vector<Boolean> boolbool = new Vector<Boolean>(); //放布尔型数据容器
}
public class List_test
{
public static A a = new A ();
public static void main(String[] args)
{
a.intint .add(1);
}
}
『拾』 java中vector的用法
这问题跟vector就没什么关系
在class里面调用什么对象的方法,我只能说都毫无意义~!
根本就执行不了,main函数能调用到么?
你在浪费思想...