本文目錄一覽:
java中vector是什麼?
Vector 類可以實現可增長的對象數組。與數組一樣,它包含可以使用整數索引進行訪問的組件。但是,Vector 的大小可以根據需要增大或縮小,以適應創建 Vector 後進行添加或移除項的操作。 每個向量會試圖通過維護 capacity 和 capacityIncrement 來優化存儲管理。capacity 始終至少應與向量的大小相等;這個值通常比後者大些,因為隨着將組件添加到向量中,其存儲將按 capacityIncrement 的大小增加存儲塊。應用程序可以在插入大量組件前增加向量的容量;這樣就減少了增加的重分配的量。 由 Vector 的 iterator 和 listIterator 方法所返回的迭代器是快速失敗的:如果在迭代器創建後的任意時間從結構上修改了向量(通過迭代器自身的 remove 或 add 方法之外的任何其他方式),則迭代器將拋出 ConcurrentModificationException。因此,面對並發的修改,迭代器很快就完全失敗,而不是冒着在將來不確定的時間任意發生不確定行為的風險。Vector 的 elements 方法返回的 Enumeration 不是 快速失敗的。 注意,迭代器的快速失敗行為不能得到保證,一般來說,存在不同步的並發修改時,不可能作出任何堅決的保證。快速失敗迭代器盡最大努力拋出 ConcurrentModificationException。因此,編寫依賴於此異常的程序的方式是錯誤的,正確做法是:迭代器的快速失敗行為應該僅用於檢測 bug。
java中的Vector
vector和arraylist都是差不多的,會用arraylist就可以用vector,但是arraylist速度比它快,但是如果涉及到多線程,就用vector,例子演示直接看文檔,或者網上查一下,寫了也是廢話,第二不就是容器嗎,一個vector里有一堆裝着string的vector,用法一樣,就是多了個容器,會有類型檢查,其他類型的放不就去
java中的vector 是什麼意思呢
java中vector和數據非常類似,兩者之間也經常成對出現,下面是兩者的比較:
1、數組:java arrays的元素個數不能下標越界,從很大程度上保證了java程序的安全性,但創建時必須指定數組的大小,並不能再改變。
2、vector:對比於array,當更多的元素被加入進來以至超出其容量時,vector的size會動態增長,而array容量是定死的。同時,vector在刪除一些元素後,其所有下標大於被刪除元素的元素都依次前移,並獲得新下標比原來的小了)。
java中的Vector類
在java中的同步,是指多個線程在同時要訪問某個對象、變量、方法、代碼快等等時,保證只有唯一線程訪問同步的對象(即用synchronized修為的內容)。
也可以這樣理解:同步就是指保證在同一時刻只有一個線程訪問同步對象的前提下,確保操作同步對象的線程順序,跟他們發出訪問同步對象請求時的順序一致。
Vector是老版本jkd(1.0的時候就有)的一個集合類,因為Vector是同步的而ArrayList是非同步的,所以Vector的性能比ArrayList要差。
在不需要保證同步的情況下。盡量使用ArryList,在需要同步時,可以考慮用Vector(其實在需要同步的條件下,也同樣不推薦用Vector,java中有個集合工具類Collections,它可以將一個ArrayList編程線程安全的)。
Java中vector的用法
import java.util.Scanner;
import java.util.Vector;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.print(“請輸入總人數:”);
int p = input.nextInt();
/**** 初始化人員 ***/
VectorInteger v = new VectorInteger();// 初始化人員並進行編號
for (int i = 1; i = p; i++) {
v.add(new Integer(i));
System.out.print(i + ” “);
}
/**** 報號 ***/
int num = 0;
while (v.size() 1) {
for (int i = 0; i v.size(); i++) {
num++;
if ((num % 3) == 0) {
v.remove(i);
i–;
}
}
}
/***** 結果 *****/
for (int i = 0; i v.size(); i++) {
System.out.println(“\n最後剩下的數是:” + v.get(i));
}
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/256535.html