如何在Java中避免多步操作,一行创建初始化带数据的List<List<String>>?
一行代码初始化嵌套列表的方案
当然可以用一行代码实现,直接利用ArrayList的构造器结合List.of()一次性完成嵌套列表的初始化,完全不需要多次调用add()方法:
List<List<String>> cars = new ArrayList<>(List.of(List.of("1", "Silver", "3000"), List.of("2", "White", "4000"), List.of("3", "Black", "3000"), List.of("4", "White", "3000"), List.of("5", "Blue", "5000"), List.of("6", "Silver", "2000")));
如果觉得单行写太长可读性差,也可以保持换行排版(逻辑上仍属于一行代码):
List<List<String>> cars = new ArrayList<>(List.of( List.of("1", "Silver", "3000"), List.of("2", "White", "4000"), List.of("3", "Black", "3000"), List.of("4", "White", "3000"), List.of("5", "Blue", "5000"), List.of("6", "Silver", "2000") ));
这个方案的核心是用外层的List.of()一次性生成包含所有子列表的不可变列表,再直接传入ArrayList的构造器完成初始化,彻底省去了多次调用add()的步骤。
内容的提问来源于stack exchange,提问作者koolest
相关产品推荐
相关产品推荐

