程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java編程中的vector類用法進修筆記

Java編程中的vector類用法進修筆記

編輯:關於JAVA

Java編程中的vector類用法進修筆記。本站提示廣大學習愛好者:(Java編程中的vector類用法進修筆記)文章只能為提供參考,不一定能成為您想要的結果。以下是Java編程中的vector類用法進修筆記正文


java.util.vector供給了向量類(vector)以完成相似靜態數組的功效。在Java說話中沒有指針的概念,但假如准確靈巧地應用指針又確切可以年夜年夜進步法式的質量。好比在c,c++中所謂的“靜態數組”普通都由指針來完成。為了填補這個缺陷,Java供給了豐碩的類庫來便利編程者應用,vector類就是個中之一。現實上,靈巧應用數組也能夠完成向量類的功效,但向量類中供給年夜量的辦法年夜年夜便利了用戶的應用。
創立了一個向量類的對象後,可以往個中隨便拔出分歧類的對象,即不需顧及類型也不需事後選定向量的容量,並可以便利地停止查找。關於事後不知或許不肯事後界說數組年夜小,而且須要頻仍地停止查找,拔出,刪除任務的情形。可以斟酌應用向量類。
Vector類完成了一個靜態數組。和ArrayList和類似,然則二者是分歧的:

  • Vector是同步拜訪的。
  • Vector包括了很多傳統的辦法,這些辦法不屬於聚集框架。
  • Vector重要用在事前不曉得數組的年夜小,或許只是須要一個可以轉變年夜小的數組的情形。

Vector類支撐4種結構辦法。

1.第一種結構辦法創立一個默許的向量,默許年夜小為10:

Vector()
2.第二種結構辦法創立指定年夜小的向量。

Vector(int size)
3.第三種結構辦法創立指定年夜小的向量,而且增量用incr指定. 增量表現向量每次增長的元素數量。

Vector(int size,int incr)
4.第四中結構辦法創立一個包括聚集c元素的向量:

Vector(Collection c)

應用第一種辦法體系會主動對向量停止治理,若應用後兩種辦法。則體系將依據參數,initialcapacity設定向量對象的容量(即向量對象可存儲數據的年夜小),認真正寄存的數據個數跨越容量時。體系會擴大向量對象存儲容量。

參數capacityincrement給定了每次擴大的擴大值。當capacityincrement為0的時刻,則沒次擴大一倍,應用這個功效可以優化存儲。在Vector類中供給了各類辦法便利用戶的應用:

拔出功效:
(1)public final synchronized void adddElement(Object obj)
將obj拔出向量的尾部。obj可所以任何類型的對象。對統一個向量對象,亦可以在個中拔出分歧類的對象。但拔出的應是對象而不是數值,所以拔出數值時要留意將數組轉換成響應的對象。
例如:要拔出整數1時,不要直接挪用v1.addElement(1),准確的辦法為:

Vector v1 = new Vector(); 
Integer integer1 = new Integer(1); 
v1.addElement(integer1); 

(2)public final synchronized void setElementAt(Object obj,int index)
將index處的對象設置成obj,本來的對象將被籠罩。
(3)public final synchronized void insertElement(Object obj,int index)
在index指定的地位拔出obj,本來對象和爾後的對象順次往後順延。

刪除功效:
(1)public final synchronized void removeElement(Object obj)
從向量中刪除obj,如有多個存在,則從向量頭開端試,刪除找到的第一個與obj雷同的向量成員。
(2)public final synchronized void removeAllElement();
刪除向量一切的對象
(3)public fianl synchronized void removeElementAt(int index)
刪除index所指的處所的對象

查詢搜刮功效:
(1)public final int indexOf(Object obj)
從向量頭開端搜刮obj,前往所碰到的第一個obj對應的下標,若不存在此obj,前往-1.
(2)public final synchronized int indexOf(Object obj,int index)
從index所表現的下標處開端搜刮obj.
(3)public final int lastindexOf(Object obj)
從向量尾部開端逆向搜刮obj.
(4)public final synchornized int lastIndex(Object obj,int index)
從index所表現的下標處由尾至頭逆向搜刮obj.
(5)public final synchornized firstElement()
獲得向量對象中的首個obj
(6)public final synchornized Object lastElement()
獲得向量對象的最初一個obj

實例
上面的法式解釋這個聚集所支撐的幾種辦法:

import java.util.*;

public class VectorDemo {

  public static void main(String args[]) {
   // initial size is 3, increment is 2
   Vector v = new Vector(3, 2);
   System.out.println("Initial size: " + v.size());
   System.out.println("Initial capacity: " +
   v.capacity());
   v.addElement(new Integer(1));
   v.addElement(new Integer(2));
   v.addElement(new Integer(3));
   v.addElement(new Integer(4));
   System.out.println("Capacity after four additions: " +
     v.capacity());

   v.addElement(new Double(5.45));
   System.out.println("Current capacity: " +
   v.capacity());
   v.addElement(new Double(6.08));
   v.addElement(new Integer(7));
   System.out.println("Current capacity: " +
   v.capacity());
   v.addElement(new Float(9.4));
   v.addElement(new Integer(10));
   System.out.println("Current capacity: " +
   v.capacity());
   v.addElement(new Integer(11));
   v.addElement(new Integer(12));
   System.out.println("First element: " +
     (Integer)v.firstElement());
   System.out.println("Last element: " +
     (Integer)v.lastElement());
   if(v.contains(new Integer(3)))
     System.out.println("Vector contains 3.");
   // enumerate the elements in the vector.
   Enumeration vEnum = v.elements();
   System.out.println("\nElements in vector:");
   while(vEnum.hasMoreElements())
     System.out.print(vEnum.nextElement() + " ");
   System.out.println();
  }
}

以上實例編譯運轉成果以下:

Initial size: 0
Initial capacity: 3
Capacity after four additions: 5
Current capacity: 5
Current capacity: 7
Current capacity: 9
First element: 1
Last element: 12
Vector contains 3.

Elements in vector:
1 2 3 4 5.45 6.08 7 9.4 10 11 12

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved