0
private ArrayList<String[]> action = new ArrayList<String[]>();

action假设我的目标是用 20 个 empty填充String[3]。我知道的最快的方法是:

for(int i = 0 ; i < 20 ; ++i) {
    action.add(new String[3]);
}

有没有更节省空间的方法来实例化这个对象?

4

3 回答 3

1

你可以这样做

 String[][] s = new String[20][3];
 List<String[]> action  = new ArrayList<String[]>(Arrays.asList(s));

或者

 String[][] s = new String[20][3];
 for (int i = 0; i < s.length; i++) {
    action.add(s[i]);           
 }
于 2013-10-28T10:29:45.247 回答
0

应用于new String[1]您的数据需要一个闭包语句,这在 Java 7 中根本不简洁。在 Java 8 中,您的代码如下:

List<String[]> collect = IntStream.range(0, 20)
    .mapToObj(x -> new String[3])
    .collect(Collectors.<String[]>toList());
于 2013-10-28T10:32:52.960 回答
-1

String[][] action = new String[20][3]

于 2013-10-28T10:22:03.603 回答