我有一个大小为N的ArrayList l1和另一个大小为L< l2的l2。 N.我想把L的第一项l1放到l2。我想用(Object obj:l1)的for循环来扫描我的大小为N的列表,然后使用l2.add(obj)在l2上添加元素,但我不确定当我达到最大大小时l2(即L)停止插入物品或继续。
有人可以建议我这样做吗?感谢名单
答案 0 :(得分:20)
您可以使用List.subList(int, int)
方法获取前L个项目
int L = 2;
List<String> newList = new ArrayList<>(inputList.subList(0,L));
答案 1 :(得分:9)
如下所示:
list2.addAll(list1.subList(0, l));
答案 2 :(得分:0)
使用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
希望这是你期望的吗?