有没有一种方法可以拥有一个“主”数组列表?

时间:2020-08-28 12:49:35

标签: java arraylist

假设我有

ArrayList<Citizen> citizen1 = new ArrayList<Citizen>();
ArrayList<Citizen> citizen2 = new ArrayList<Citizen>();
ArrayList<Citizen> citizen3 = new ArrayList<Citizen>();

是否有可能使所有这些都受到损害的arraylist?

2 个答案:

答案 0 :(得分:0)

List<List<Citizen>> mainList= new ArrayList<>();

您可以使用“列表列表”。

还需要考虑以下几点。

在创建列表对象时,建议使用左侧的 "List" 代替 "ArrayList" 。最好绕过 "List" 界面,因为如果以后需要更改为使用Vector之类的东西(例如,现在需要同步列表),则只需用“新”声明。无论您使用哪种列表实现方式,例如 Vector or ArrayList ,您仍然始终只是绕过列表。

在ArrayList构造函数中,可以将列表保留为空,列表将默认为特定大小,然后根据需要动态增长。但是,如果您知道列表的大小,有时可以节省一些性能。例如,如果您知道文件中总是有500行,那么您可以这样做:

答案 1 :(得分:0)

您可以拥有一个市民名单清单,例如:List<List<Citizen>>= new ArrayList<>();

您可以使用addAll()List的{​​{1}}方法将另一个列表的所有元素添加到一个列表中。

如果至少使用Java 8,则可以使用Streams API进行各种操作:CollectionStream.of(),甚至其他。