我有一个大小为 N 的 ArrayList l1 和另一个大小为 L < N 的 l2。我想将 l1 的 L 第一项放在 l2 中。我想使用 for(Object obj : l1) 类型的 for 循环来扫描我的大小 N 列表,然后使用 l2.add(obj) 在 l2 上添加元素,但我不确定何时达到最大大小l2 的(即 L)停止插入项目或继续。
有人可以建议我这样做吗?谢谢
您可以使用List.subList(int, int)
方法获取前 L 个项目
int L = 2;
List<String> newList = new ArrayList<>(inputList.subList(0,L));
类似于以下内容:
list2.addAll(list1.subList(0, l));
使用 System.arraycopy()
这里有一个例子:
package test_temp;
public class TestArrayCopy
{
public static void main(String[] args) {
String[] SRC = {"Hello", "all", "you", "happy", "taxpayers"};
int dimN = SRC.length;
int dimL = 4;
String[] dest = new String[dimL];
System.arraycopy(SRC, 0, dest, 0, Math.min(dimN, dimL));
for (int i = 0; i < dimL; i++) System.out.println(dest[i]);
}
}
这将给出以下输出:
Hello
all
you
happy
希望这是你所期望的?