2014-11-05 241 views
0

我想學習ArrayList和Vector。 如果例如我有private Vector cardsInMyHand;我可以將它更改爲ArrayList。正如你所見,或者我錯了。如何將Vector更改爲Array或ArrayList?

private Vector numbers; 
    . 
    . 
    . 
    Vector studentNumbers; 
    studentNumbers = new Vector(); 
    public int getNumbers(Vector studentNumbers, int x) 
    { 

     if (x >= 0 && x < studentNumber.size()) 
     { 
      return ((Integer)hand.elementAt(x)).intValue(); 
     } else 
     { 
      return 0; 
     } 
    } 

改爲私人??????; ...... ArrayList<String> studentNumbers = new ArrayList<String>(); 我可以這樣做嗎?

public int getNumbers(ArrayList studentNumbers, int x) 
    { 

    if (x >= 0 && x < studentNumber.size()) 
    { 
     return ((Integer)hand.elementAt(x)).intValue(); 
    } else 
     { 
     return 0; 
     } 
    } 
+0

Vector是一個集合,以便你可以做numbers.toArray(新的String [numbers.size()])到Vector 轉換爲String [] – 2014-11-05 04:13:24

回答

3

是的,但是你的語法有一些錯別字。而且你不應該使用Raw Types。最後,我建議您使用List界面並閱讀有關Autoboxing and Unboxing

public int getNumbers(List<Integer> studentNumbers, int x) { 
    if (x >= 0 && x < studentNumbers.size()) { 
     return studentNumbers.get(x); 
    } else { 
     return 0; 
    } 
} 
+0

我不瞭解生類型BOX stringBox = new Box <>(); Box rawBox = stringBox; – JayLo 2014-11-05 04:14:59

+0

你的意思是這是一個原始類型ArrayList studentNumbers = new ArrayList (); – JayLo 2014-11-05 04:17:06

+1

@JayLo當你說'ArrayList objs'時,它是一個原始類型(它的行爲就像'ArrayList objs;')。右側的操作者金剛石是短手,'列表串=新的ArrayList <>();''用於列表串 =新的ArrayList ();'。 – 2014-11-05 04:19:29

0

首先,Java Vector類被視爲已過時或已棄用。如果你想使用下面提到的方式將Vector轉換爲ArrayList。簡單而簡單。

// convert vector to araryList 
 
public ArrayList convertVectorToList(Vector studentNoVec){ 
 
    return new ArrayList(studentNoVec); 
 
}

+0

**請**不要使用[原始類型](http://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html)。 – 2014-11-05 04:21:53

+0

是的!它是一個例子。任何類型都可以用於Vector和ArrayList。 – 2014-11-05 04:48:02

2

檢查下面的示例與類型安全。

public ArrayList<String> convertVectorToList(Vector<String> studentNoVec){ 
 
\t \t return new ArrayList<String>(studentNoVec); 
 
\t \t } 
 
\t 
 
\t public static void main(String[] args) { 
 
\t \t Vector<String> v= new Vector<String>(); 
 
\t \t v.add("No1"); 
 
\t \t v.add("No2"); 
 
\t \t Test a = new Test(); 
 
\t \t for(String no : a.convertVectorToList(v)){ 
 
\t \t \t System.out.println(no); 
 
\t \t } 
 
\t }