有一个ArrayList<Integer> al
,我想将其元素的前半部分复制到另一个中ArrayList<Integer> firstHalf
。(如果al具有奇数个元素,firstHalf
应该再增加一个元素。)但是,以下代码抛出IndexOutOfBoundsException
,并说Index: 0, Size: 0
,尽管我不确定这会是什么问题,因为ArrayLists的索引从0开始。另外,我知道.arraycopy
,但是我想通过for循环这样做。
int x = al.size()/2 + (al.size()%2) - 1;
for(int i = 0; i < x; i++){
firstHalf.set(i, al.get(i));
}
您应该使用add
而不是set
:
int x = al.size()/2 + (al.size()%2) - 1;
for(int i = 0; i < x; i++){
firstHalf.add(al.get(i));
}
最好使用List#subList
问题内容: 我的尺寸为10。我将其分配l1给新列表引用类型。威尔和指向同一个对象吗?还是分配给对象的副本l2? 使用引用时,如果我更新列表对象,它也会反映l1引用类型中的更改。 例如: 除了创建2个列表对象并在集合上进行从旧到新的复制之外,没有其他方法可以将列表对象的副本分配给新的引用变量吗? 问题答案: 是的,分配将刚刚复制值的(这是引用)。它们都将引用相同的对象。 但是,创建浅表副本非常简单:
我是Java的新手,并试图了解集合。当我试图将一个ArrayList复制到另一个时,我遇到了异常。请在下面找到相同的代码。 异常:线程“main”中的异常 java.lang.IndexOutOfBounds异常:Source 不适合 java.util.Collections.copy(未知来源) at ArrayListTest.main(ArrayListTest.java:19) 如果我做
本文向大家介绍MySQL怎么恢复半个月前的数据?相关面试题,主要包含被问及MySQL怎么恢复半个月前的数据?时的应答技巧和注意事项,需要的朋友参考一下 通过整库备份+binlog进行恢复. 前提是要有定期整库备份且保存了binlog日志.
我玩了几个小时,我不能这么想达到的帮助,你能帮我在框架ffmpeg命令显示水印图像的视频,对于初始半视频水印应该在左下角和对于剩下的一半视频,水印商店在右上方。 左下角: 右上角: 另外,我看了30秒前的Timeoverlay和MPEG水印。 如何合并所有这些并满足我的上述要求?
本文向大家介绍如何复制或克隆Java ArrayList?,包括了如何复制或克隆Java ArrayList?的使用技巧和注意事项,需要的朋友参考一下 java.util.ArrayList类的 clone()方法返回此ArrayList实例的浅表副本(即,不复制元素本身)。使用此方法,可以将一个数组列表的内容复制到另一个数组列表。 示例 输出结果
本文向大家介绍JavaScript 复制数组的一部分,包括了JavaScript 复制数组的一部分的使用技巧和注意事项,需要的朋友参考一下 示例 该slice()方法返回数组一部分的副本。 它带有两个参数arr.slice([begin[, end]]): 开始 从零开始的索引,这是提取的开始。 结束 从零开始的索引,它是提取的末尾,会切成该索引,但不包括在内。 如果结尾为负数,则。end =ar