private ArrayList<String[]> action = new ArrayList<String[]>();
action
假设我的目标是用 20 个 empty填充String[3]
。我知道的最快的方法是:
for(int i = 0 ; i < 20 ; ++i) {
action.add(new String[3]);
}
有没有更节省空间的方法来实例化这个对象?
private ArrayList<String[]> action = new ArrayList<String[]>();
action
假设我的目标是用 20 个 empty填充String[3]
。我知道的最快的方法是:
for(int i = 0 ; i < 20 ; ++i) {
action.add(new String[3]);
}
有没有更节省空间的方法来实例化这个对象?
你可以这样做
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]);
}
应用于new String[1]
您的数据需要一个闭包语句,这在 Java 7 中根本不简洁。在 Java 8 中,您的代码如下:
List<String[]> collect = IntStream.range(0, 20)
.mapToObj(x -> new String[3])
.collect(Collectors.<String[]>toList());
String[][] action = new String[20][3]