2014-11-05 236 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 }