java中的动态数组声明

raj*_*aju 5 java arrays

谁能告诉我的错误在这个Java声明String[][] t=new String[15][15];这工作得很好,如果我使用的String[][] t=new String[][];,因为我需要声明变量t动态,因为我不知道我是多么多值会在T存储.

Mar*_*ens 8

使用ArrayList(或可以处理任意数量对象的其他数组对象).java数组始终具有固定长度,因为将为该数组保留一些内存.

ArrayList也创建了这样的数组来存储对象.你添加更多的abjects作为数组的当前保留大小比ArrayList将创建一个新的更大的数组(如果我是正确的话,+ 50%).还有一些其他实现有点不同(例如,当阵列已满时,它们会创建一个新阵列100%的原始阵列.如果性能对您来说非常重要,那么您可以查看它.

ArrayList<ArrayList<String> t = new ArrayList<ArrayList<String>();

void fill() {
    ArrayList<String> t2 = new ArrayList<String>();
    t2.add("somestring");
    String s = "someotherstring";
    t2.add(s);
    t.add(t2);
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你有一个键和一个值你可以使用HashMap,`HashMap <String,String> hashMap = new HashMap <String,String>();` (2认同)