有没有更好的方法可以让我初始化三维ArrayList?
List<List<List<String>>> lista = new ArrayList<List<List<String>>>(3);
for (int i=0;i<3;i++){
List<List<String>> lista2 = new ArrayList<List<String>>(4);
for (int j=0;j<4;j++)lista2.add(new ArrayList<String>(5));
lista.add(lista2);
}
答案 0 :(得分:1)
没有外部库或引入新类 - 您可以使用Double Brace Initialization。它比中间变量更清晰。
public List<List<List<String>>> lista = new ArrayList<List<List<String>>>(){{
for(int i=0;i<3;i++)
add(new ArrayList<List<String>>(){{
for(int i=0;i<4;i++)
add(new ArrayList<>(5));
}});
}};