導航:首頁 > 編程語言 > javavector轉為數組

javavector轉為數組

發布時間:2021-12-08 14:22:51

java.util.vector怎麼代替數組

在Java中,數組不能動態重設大小。一個可替代方法是使用java.util.ArrayList (或者java.util.Vector)代替使用原始數組(array)。另一種解決方案是用一個不同大小的數組重設數組,將舊數組內容拷貝到新的數組。
/** * 使用一個新大小重設數組,並拷貝舊數組的內容到新數組 * @param oldArray 舊數組被重設 * @param newSize 新數組大小 * @return 返回帶同樣內容的新數組 */privatestatic Object resizeArray (Object oldArray, int newSize){ int oldSize = java.lang.reflect.Array.getLength(oldArray); Class elementType = oldArray.getClass().getComponentType(); Object newArray = java.lang.reflect.Array.newInstance( elementType,newSize); int preserveLength = Math.min(oldSize,newSize); if (preserveLength >0) System.array (oldArray,0,newArray,0,preserveLength); return newArray; }// resizeArray()測試用例publicstaticvoid main (String[] args) { int[] a = {1,2,3}; a = (int[])resizeArray(a,5); a[3] =4; a[4] =5; for (int i=0; i

㈡ java Vector 怎麼用一個Vector來給一個以維數組賦值呢

兄弟你好,在說這個問題之前,我需要先說明樓上兄弟所說調用Vector的toArray();方法,確實,他是把Vector里的對象轉換為了數組,但是那是Object類型的數組,返回的是Object對象,你依然是需要強轉處理的。
你如果想把vector里存儲的對象轉換存儲到short數組,那麼有以下幾種選擇:
一,你的vector里存儲的都是可以轉變為short的數字字元串,如"1","22"等等。
二,你的vector里存儲的都是short的封裝類Short類型的對象。
三,你的vector里存儲的都是可以轉變為short類型的其他基本類型的封裝類如Integer,Float等,但是你要保證這些范圍都在32767 ~ -32768 。
Vector類里的toArray()方法是把當前這個vector里存儲的對象按順序放到一個Object類型的數組裡面,很明顯這不符合你的要求。
JAVA數據類型裡面,short數值范圍是 32767 ~ -32768
所以你如果想把vector里的數字或者數字字元串都轉換到short數組里,你首先要保證你的數字范圍在32767 ~ -32768
-----------------------------------------------
Vector v = new Vector();
v.add(1);
v.add(2);
v.add(3);
v.add(4);

你用這種寫法將基本類型的數字添加到vector,說明你用的是jdk1.5或者1.6版本的。
jdk1.5以後引入了泛型能夠自動將基本類型轉換為對應的封裝類,你這里添加的是int實際上他在存儲的時候已經轉換為了java.lang.Integer,所以你才可以這樣寫。
----------------------------------------------------
既然是轉換為了Integer類型,那好辦,你取的時候先按照Integer類型來取,然後轉換為int,最後強制轉換為short,並且創建一個與vector的size大小一致的數組來存儲,代碼如下:

public class TestArray {

public static void main(String[] args){
Vector v = new Vector();
v.add(1);
v.add(2);
v.add(3);
v.add(4);

short []shortArray = new short[v.size()];
for(int i = 0 ; i < v.size();i++){
System.out.println("vector里存儲的對象類型--->" + v.get(i).getClass().getName() + "index---->" + i);
Integer temp = (Integer)v.get(i);
shortArray[i] =(short) temp.intValue();
}
}
}
---------------------------------
另外一種方法就是調用toArray()方法然後再轉換Object數組對象為Integer-int-short,這樣是可行的,但是繞彎路了。

㈢ java ,Vector 的toArray 的方法

自己看復看吧,另外我制試過一樓的方法,好像不行,會異常
public static void main(String[] args) {
Vector<Double> vector = new Vector<Double>();
vector.add(2.3);
vector.add(3.2);
vector.add(3.0);

Double [] item = new Double[vector.size()];
vector.toArray(item);
for(int i = 0;i<item.length;i++)
{
System.out.println(item[i]);
}
}

㈣ java Vector 怎麼用一個Vector來給一個一維數組賦值呢

Vector<Integer> v = new Vector<Integer>();
v.add(1);
v.add(2);
v.add(3);
v.add(4);
short[] a = new short[4];
for(int i=0;i<v.size();i++){
a[i]=Short.valueOf(v.get(i).toString());
}//循環列印輸出驗證是否存入數組
for(int j=0;j<a.length;j++){
System.out.println(a[j]);
}

㈤ 請問在JAVA中 VECTOR排序一定要轉成數組嗎有沒有排序函數

Vector是不能自動排序的,2樓說的add()方法加一個數字是你自己加的,等於你自己來排序,呵呵!

要實現排序要用java.util包下的另一個類叫TreeSet
你可以把你要排序的屬性放到一個TreeSet中,這個類在java.util包中,而且這個TreeSet中只能存放這個屬性,也就是元素對象類型要一致!然後這個對象要是可以比較的,就是說你定義的這個類是可以比較的,這個類要實現Comparable介面,然後實現其中的compareTo方法,給出你的比較方法,像我下面的例子中我對學生這個類用年齡排序,如果年齡相同的TreeSet會把這個對象捨去的,所以你可以給出多個比較方法,比如說年齡相同,就按照姓名在排序,姓名相同再按照學號排序,保證加到TreeSet中的元素不同,因為TreeSet會根據你的比較方法自動捨去相同的元素!
import java.util.*;
public class SetTest {
/**
* @param args
*/
public static void main(String args[]){
TreeSet hs=new TreeSet();

hs.add(new Student("cyq",26));
hs.add(new Student("binxin",24));
hs.add(new Student("binxin",23));
for (Object o:hs){
System.out.println(o);
}

}
}
class Student implements Comparable{
String name;
int age;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String toString(){
return name+":"+age;
}

public int compareTo(Object o) {
Student s=(Student)o;
return this.age-s.age;
}

}

當然像String 和8種基本類型都已經實現了Comparable方法,可以直接放到數組中自動排序

㈥ Java怎麼讀取Vector中的元素(元素是一個數組)

for(int i =0; i<n; ++i) //n為數組長度
{
if(a[i] == temp) //temp為要查找 的元素
return i; //i為該元素在數組中的位置
}

㈦ java裡面,怎麼將一個二維的Vector對象轉化成一個二維數組了

用循環,但Vector對象里的值的類型要去數組中保持一致..

㈧ java中 如何從Vector中取出數組

Vector是一個容器,可以容納不同類型的對象,數組也可以。

比如有個int型數組:intdata1[]={1,2,3};

放入vector:v.addElement(data1);

然後可以這么取:

for(intinteger:(int[])v.elementAt(i)){

System.out.println(integer);

}

完整的例子如下:

importjava.util.Vector;
classTest{
publicstaticvoidmain(Stringargs[]){
//定義整形數組:
intdata1[]={1,2,3};
intdata2[]={4,5,6};
intdata3[]={7,8,9};

//定義一個vector容器對象
Vectorv=newVector();
//向容器中放數組
v.addElement(data1);
v.addElement(data2);
v.addElement(data3);
//開始循環迭代數組對象
for(inti=0;i<v.size();i++){
System.out.println("----------");
//由於沒有用泛型,這里需要類型強制轉化,轉換為int[]才可以遍歷出來
for(intinteger:(int[])v.elementAt(i)){
System.out.println(integer);
}
}
}
}

㈨ java vector如何放入string數組 不是遍歷放入

public static void main(String[] args)
{
屬Vector<String> vector = new Vector<String>();
String[] a = new String[]{"a", "b", "c"};
String[] b = new String[]{"d", "e", "f"};
vector.addAll(Arrays.asList(a));
vector.addAll(Arrays.asList(b));
for (Iterator<String> iter = vector.iterator(); iter.hasNext();) {
String value = iter.next();
System.out.println(value);
}
}

㈩ 將一個vector轉換為一個二維數組

循環賦值唄,循環條件
loop
if(vector.next == null) break;
在這里給定義好的數組賦值就OK了

閱讀全文

與javavector轉為數組相關的資料

熱點內容
哪款蘋果電腦玩游戲好 瀏覽:472
js獲取當前頁面的標題 瀏覽:997
威勝智能電表如何採集監測數據 瀏覽:31
如何加密u盤文件夾 瀏覽:860
網站懸浮窗代碼 瀏覽:4
蘋果5外屏都包括什麼 瀏覽:580
好看的愛情電影60分鍾左右的 瀏覽:453
P開頭 網站 瀏覽:98
學習計算機編程前景如何 瀏覽:930
寶馬gt大燈怎麼編程 瀏覽:755
北郵網路技術實踐 瀏覽:731
u盤不能讀取此卷無法識別的文件 瀏覽:300
讓管理會計信息化插上大數據翅膀 瀏覽:824
mysql每天取一條資料庫 瀏覽:606
schdoc是什麼文件 瀏覽:391
html源代碼下載 瀏覽:726
skype官方下載linux 瀏覽:496
新僵屍先生最後那個小孩去哪了 瀏覽:718
主角穿越三體開局創造暗位面 瀏覽:600
5s手機qq刪除最近文件在哪裡 瀏覽:404

友情鏈接