在java中没有向量的动态数组

时间:2010-02-22 00:04:54

标签: java

import java.util.Scanner;

public class Test {
 public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  int n = sc.nextInt();
  int[] v = new int[n];
 }
}

这样做有什么问题吗?

3 个答案:

答案 0 :(得分:3)

没有。 (除了n可能是否定的,或者是巨大的导致拒绝服务(DoS)的情况。)

使用数组后,您无法更改大小。您必须创建一个新数组,复制内容并切换所有引用。

答案 1 :(得分:0)

不,但与Vector不同,它显然无法调整大小。请注意,在Java中,所有集合都分配在heap

答案 2 :(得分:0)

使用类向量的好处是它封装了你需要对数组执行的所有管理。因此,正如Tom Hawtin - tackline所说,它会管理意想不到的价值,但它也会管理调整大小,它会为你提供一些有用的方法来处理你的数组,比如.get witch会禁止你让一个项目超出范围您可以使用更多方法:http://java.sun.com/j2se/1.4.2/docs/api/java/util/Vector.html

不过,作为附注,我建议你使用ArrayList:http://java.sun.com/j2se/1.4.2/docs/api/java/util/ArrayList.html