java打印整个向量_Java中Vector向量的用法
Java中的向量實際就是一個動態的可自動擴容的數組
1、向量中的元素必須是引用型的變量,而且可以進行增刪改等多種操作
2、同樣有向量的容量和向量的長度兩個屬性,當新的長度超過容量時,程序會自動擴容
此外,還有一個屬性是 容量的增量 , 容量的增量的設定控制著擴容的規則,當需要進行
擴容時,則從下面兩個數值中選取教的一個進行擴容:
① 第一個數是向量對象的新的長度
② 第二個數根據增量來確定:
<1>如果增量為 0 , 則第二個數為舊的容量的2倍
<2>如果增量不為0 ,則第二個數為舊容量與增量之和
3、向量引用型變量的聲明
Vector變量名
如: Vector vs
4、向量實例對象的創建方法——通過構造方法
① public Vector() 默認容量為10,增量為0
② public Vector(int initialCapacity) 容量為initialCapacity,增量為0
③ public Vector(int initialCapacity , int capacityIncrement)
注意在創建對象調用構造方法的形式如下:
Vector vs = new Vector() ;
5、對向量實例對象的操作方法(E代表元素的數據類型)
<1> 增加與插入
① public boolean add(E obj)
public void addElementA(E obj)
都是在向量的尾部增加元素
② public void add(int index , E obj)
public void insertElementAt(E obj , int index)
都是在指定的位置插入新的元素
<2> 修改于刪除
① public E set(int index , E element)
public void setElementAt(E obj, int index)
都是指定位置的元素的修改,其中第一個方法返回舊的被修改元素的引用
② public void clear()
public void removeAllElements()
刪除向量中的所有的元素
③ public E remove(int index)
public void removeElementAt(int index)
刪除指定位置的元素
④ public boolean remove(Object obj)
public boolean removeElement(Object obj)
值得注意的是:這兩個方法都必須要判定指定的obj對象是否在當前的向量中,而如
何判定兩個對象是否“相等”呢?這兩個方法都會自動調用向量元素繼承自Object類
的public boolean equals(Object obj)方法,來判定是否有要刪除指定的對象,這
就出現了一個問題:
在Object類中的equals(Object obj)方法,只有當兩個引用型變量同時指向同一
個對象時,才會返回true,但實際remove()方法往往要求當兩個引用型變量指向的
對象具有相同的內容時,就要進行刪除操作,所以一般要在向量的元素的類中對繼承
的equals進行重寫,至于equals方法的重寫,在之前已經說過了
<3>信息的查詢操作
① public boolean contains(Object obj)
判定obj是否在當前的向量對象中,同樣需要調用equals()方法
② public int indexOf(Object obj)
返回第一個與obj相等的向量中的元素的索引
public int lastIndexOf(Object obj)
返回最后一個與obj相等的向量中的元素的索引
③ public E elementAt(int index)
public E get(int index)
都會返回下標為index的向量中的元素
④ public E firstElement()? 返回下標為0 的元素
public E lastElement()?? 返回最后一個元素
⑤ public int capacity()? 返回向量的當前的容量
public int size()????? 返回向量的當前的長度
public boolean isEmpty() 判定當前的向量對象是否為空
⑥ public void setSize(int newSize)
設定向量的長度,要么刪除一部分元素,要么用null補充,如果需要擴大容量的
話,會自動擴容
⑦ public void ensureCapacity(int minimum)
設定向量的容量,擴容規則與上述規定相同
⑧ public void trimToSize()
使向量的容量正好等于向量的常度
6、獲取向量中的各個元素還可以通過迭代器(iterator)來實現
類java.util.Vector有一個成員方法
public Iterator iterator()
該方法會返回當前的向量對象所對應的迭代器,返回類型為Iterator類型,
Iterator類位于java.util.Iterator,所以要用迭代器的話就必須引入該類
在獲得了向量所對應的迭代器后,就可以通過這個迭代器來對各個元素進行操作了
java.util.Iterator類有兩個重要的成員方法:
① public boolean hasNext()? 判定迭代器中是否還有元素
② public E next()?????????? 返回迭代器當前位置的下一位置的元素,之后當前位置
向下移動一個位置
③ public void remove()
從迭代器指向的容器當中刪除迭代器返回的最后一個元素,所以在調用該方法前,至少調用了
一次next()方法,也就是說remove()方法不能夠連續調用
【在迭代器被創建完成之后,其當前位置就自動的指向序列的第一個元素的前一個位置
hasNext()用來判定當前位置的下一個位置是否還有元素
在多次調用next()方法后,當前位置的下一個位置就會不在有元素了,
而且當前位置是不能回到最初位置的,這時再調用next()方法就會報錯
所以說一般迭代器只能從頭到尾用一次】 ????? ????? 如:
String str1 = "123" ;
String str2 = "456" ;
Vector vs = new Vector(2) ;
vs.add(str1) ;
vs.add(str2) ;
Iterator it = vs.iterator() ;
while(it.hasNext())
System.out.println(it.next());
總結
以上是生活随笔為你收集整理的java打印整个向量_Java中Vector向量的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华硕为 X670E / X670 主板推
- 下一篇: was java sdk_关于WAS9单