我有一个ArrayList<String>
我想要寄回的副本. ArrayList
有一个克隆方法,具有以下签名:
public Object clone()
Run Code Online (Sandbox Code Playgroud)
调用此方法后,如何将返回的Object转换回ArrayList<String>
?
我有一个List<SomeBean>
从Web服务填充的.我想将该列表的内容复制/克隆到相同类型的空列表中.谷歌搜索复制列表建议我使用Collections.copy()
方法.在我看到的所有示例中,目标列表应该包含要进行复制的确切项目数.
由于我使用的列表是通过Web服务填充的,它包含数百个对象,我不能使用上述技术.或者我使用它错了?? !! 无论如何,为了使它工作,我试图做这样的事情,但我仍然有一个IndexOutOfBoundsException
.
List<SomeBean> wsList = app.allInOne(template);
List<SomeBean> wsListCopy=new ArrayList<SomeBean>(wsList.size());
Collections.copy(wsListCopy,wsList);
System.out.println(wsListCopy.size());
Run Code Online (Sandbox Code Playgroud)
我尝试使用wsListCopy=wsList.subList(0, wsList.size())
但ConcurrentAccessException
后来我在代码中得到了一个.命中和审判.:)
无论如何,我的问题很简单,如何将列表的整个内容复制到另一个列表?当然不是通过迭代.
我正在编写一个方法,允许我计算String类型的元素在String类型的LinkedList中出现的次数.我的代码如下所示不起作用.我继续在下面评论的行中获得索引超出界限.似乎无法找到这个bug
public int findDuplicate (LinkedList<String> e) {
int j = 1;
LinkedList<String> test = e;
while (!test.isEmpty()){
test = e;
String value = test.pop();
//Screws up here when i = 6
for(int i =0; i<=test.size() && test.get(i)!=null; i++){
String value3 = test.get(i);
if(e.get(i).equals(value) && i<=test.size()){
String value2 = test.get(i);
j++;
String Duplicate = e.get(i);
e.remove(i);
}
}
System.out.println(value + " is listed " + j + " times");
}
return j;
}
Run Code Online (Sandbox Code Playgroud)
使用hashmaps ..仍然无法正常工作
public void findDuplicate (LinkedList e) { …
Run Code Online (Sandbox Code Playgroud)