package c;
/*Vector向量的操作:向量是java.util包提供的工具类,像数组一样实现了顺序存储结构,但与
* 数组不同的是,它用来存储对象的有序集合,Vector封装了很多方法,很方便的可以扩充容量;
*
* Vector与数组的不同之处
* 不同之处 Vector 数组
* 存储数据类型 参考类型 参考类型,简单类型
* 容量是否可以增加 可以 不可以
* 数据类型的一致性 不同类的对象可以存储到一个类中 相同类型的数据存储在同一个数组中
* 是否合适频繁插入删除 是 否
*
* Vector的四种构造方法:
* (1)public Vector(int initialCapacity ,int CapacityIncreament)
* (2)public Vector(int initialCapacity)
* (3)public Vector();//既设置初始容量,也不设置增量
* (4)public Vector(Collegian c);构造一个包含制定集合元素的向量
*
* 常用方法:
* public int capacity():返回向量的容量
* public int size():返回向量中元素的个数
* public boolean contains(Object elem):如果指定对象是向量中的元素,则返回true
* public int indeOf(Object elem):从起始位置匹配指定的对象,然后将索引值返回,如果没找到则返回-1
* public int indexOf(Object obj,int index):从制定的Index位置开始向后搜索,制定对象不存在,则返回-1;
* public E elementAt(int index):返回index制定位置的元素,E代表任何一种数据类型,如果Index无效,则抛出异常
* public void setElementAt(E obj,int index):以制定元素obj代替制定位置index处的元素
* public void removeElement(Object obj):删除制定位置的元素
* public boolean removeElement(Object obj):删除第一个与制定对象obj相同的元素,后面的元素向前移动
* public void addElement(E obj):添加制定对象作为向量的最后元素
* public void insertElementAt(E obj,index):在制定位置上插入指定元素obj
*/
/*import java.util.*;
class xx{
int x=1;
}
class yy{
int y=2;
}
public class vectorOper{
public static void main(String args[]){
Vector v1=new Vector();
System.out.println(v1.capacity()+","+v1.size());
for(int i=0;i<=10;i++)
{
v1.addElement(new xx());
}
System.out.println(v1.capacity()+","+v1.size());
v1.insertElementAt(new xx(),0);
v1.addElement(new yy());
System.out.println(v1.capacity()+","+v1.size());
}
}
/*10,0
20,11
20,13
*/
//向量的添加和删除操作
import java.util.*;
public class vectorOper{
public static void main(String args[]){
int i;
Vector v1=new Vector(100);
for(i=0;i<=5;i++)
{
v1.addElement(new Integer(1));
v1.addElement(new Integer(2));
}
System.out.println(v1.capacity()+","+v1.size());
i=0;
while((i=v1.indexOf(new Integer(2),i))!=-1)
{
System.out.println(" "+i);
i++;
}
while(v1.removeElement(new Integer(1)));
System.out.println();
System.out.println(v1.capacity()+","+v1.size());
i=0;
while((i=v1.indexOf(new Integer(2),i))!=-1)
{
System.out.print(" "+i);
i++;
}
}
}
/*Vector向量的操作:向量是java.util包提供的工具类,像数组一样实现了顺序存储结构,但与
* 数组不同的是,它用来存储对象的有序集合,Vector封装了很多方法,很方便的可以扩充容量;
*
* Vector与数组的不同之处
* 不同之处 Vector 数组
* 存储数据类型 参考类型 参考类型,简单类型
* 容量是否可以增加 可以 不可以
* 数据类型的一致性 不同类的对象可以存储到一个类中 相同类型的数据存储在同一个数组中
* 是否合适频繁插入删除 是 否
*
* Vector的四种构造方法:
* (1)public Vector(int initialCapacity ,int CapacityIncreament)
* (2)public Vector(int initialCapacity)
* (3)public Vector();//既设置初始容量,也不设置增量
* (4)public Vector(Collegian c);构造一个包含制定集合元素的向量
*
* 常用方法:
* public int capacity():返回向量的容量
* public int size():返回向量中元素的个数
* public boolean contains(Object elem):如果指定对象是向量中的元素,则返回true
* public int indeOf(Object elem):从起始位置匹配指定的对象,然后将索引值返回,如果没找到则返回-1
* public int indexOf(Object obj,int index):从制定的Index位置开始向后搜索,制定对象不存在,则返回-1;
* public E elementAt(int index):返回index制定位置的元素,E代表任何一种数据类型,如果Index无效,则抛出异常
* public void setElementAt(E obj,int index):以制定元素obj代替制定位置index处的元素
* public void removeElement(Object obj):删除制定位置的元素
* public boolean removeElement(Object obj):删除第一个与制定对象obj相同的元素,后面的元素向前移动
* public void addElement(E obj):添加制定对象作为向量的最后元素
* public void insertElementAt(E obj,index):在制定位置上插入指定元素obj
*/
/*import java.util.*;
class xx{
int x=1;
}
class yy{
int y=2;
}
public class vectorOper{
public static void main(String args[]){
Vector v1=new Vector();
System.out.println(v1.capacity()+","+v1.size());
for(int i=0;i<=10;i++)
{
v1.addElement(new xx());
}
System.out.println(v1.capacity()+","+v1.size());
v1.insertElementAt(new xx(),0);
v1.addElement(new yy());
System.out.println(v1.capacity()+","+v1.size());
}
}
/*10,0
20,11
20,13
*/
//向量的添加和删除操作
import java.util.*;
public class vectorOper{
public static void main(String args[]){
int i;
Vector v1=new Vector(100);
for(i=0;i<=5;i++)
{
v1.addElement(new Integer(1));
v1.addElement(new Integer(2));
}
System.out.println(v1.capacity()+","+v1.size());
i=0;
while((i=v1.indexOf(new Integer(2),i))!=-1)
{
System.out.println(" "+i);
i++;
}
while(v1.removeElement(new Integer(1)));
System.out.println();
System.out.println(v1.capacity()+","+v1.size());
i=0;
while((i=v1.indexOf(new Integer(2),i))!=-1)
{
System.out.print(" "+i);
i++;
}
}
}