有没有什么方法可以将数据输入到任何数组列表中而不需要在我需要插入数据的代码中的每个位置实际执行以下操作?
ArrayList<dataType> kwh = new ArrayList<dataType>();
arrayListVariable.add(data);
arrayListVariable.add(moreData);
arrayListVariable.add(evenMoreData);
截至目前,如果我需要将相当多的数据放入数组列表中,这似乎非常耗时。有没有更简单/更简洁的方法呢?
答案 0 :(得分:5)
您可以使用:
ArrayList<dataType> kwh = new ArrayList<dataType>(Arrays.asList(data, moreData, evenMoreData));
或者,您可以使用Guava的Lists类。
添加新元素:
List<Integer> ints = Lists.newArrayList(1, 2, 3);
但是,这个不是固定大小。您可以稍后通过调用ints.add()
来添加新元素。
答案 1 :(得分:0)
这取决于你所说的“更快”。
如果你在谈论程序运行的速度,add()方法会在恒定时间内运行。除非你使用实际的数组,否则你不会比那更好。但是,你正在使用ArrayList,所以我假设你愿意为了灵活性而换取一些速度/空间优化。
如果您的意思是“如何在没有大量输入的情况下将大量数据添加到列表中”,那么答案就是:这取决于您正在做什么。
如果您正在读取文件,请创建一个方法,通过数据元素之间使用的任何分隔符来拆分文件。循环遍历这些项并将它们添加到ArrayList。
如果你正在做其他事情,那么你将不得不找到一种循环数据的方法。一旦你把它变成一个数组,剩下的就很简单了。