javalist复制
Ⅰ java 列表复制问题
jl2.setListData(jl1.getSelectedValue());
voidsetListData(Vector<?> listData)
Constructs a read-only ListModel from a Vector
and calls setModel with this model.
参数类型不正确
Ⅱ java复制List最快方法是什么
估计没有快的。复制都是线性的。用多线程都不见得更快。重新设计算法吧,避免复制
其他的复制方法
List<Integer> a = b.clone();
或
Collections.(a,b);
Ⅲ Java。如何将一个LinkedList里的元素全部复制到另一LinkedList容器里
LinkedList的Clone()只是浅复制,也就是只能复制对象的引用,而不能再内存中新生成一个对象,所以你复制之后的LinkedList和原始的LinkedList中存储的对象是共享的。
要想不共享,那只能覆盖你原始LinkedList中存放类的Clone()方法,在这个方法中new一个这个类的新实例,将对象的属性赋值给一个新实例。
然后new一个新的LinkedList实例,遍历原始LinkedList中的每个元素,调用这个元素的Clone(),将得到的新元素添加到新的LinkedList中。
大概的代码意思如下
ElementClass是LinkedList中存储的元素的类
public class ElementClass{
private String attributeOne;
......
public void setAttributeOne(String attValue){
this.attributeOne = attValue;
}
/* 覆盖Clone方法,新建一个本类的实例,并将对象的属性值完全复制过去*/
public Object Clone(){
ElementClass newInstance = new ElementClass();//新建一个本类实例
newInstance.setAttributeOne(this.attributeOne);//复制属性
return newInstance;
}
}
LinkedList newList = new LinkedList();//新建一个LinkedList实例
Iterator it = oldList.iterator();获取原始List的遍历器
while(it.hasNext()){
newList .add(((ElementClass) it.next()).clone());//遍历元素,将克隆的新对象加入新的List中
}
Ⅳ java把一个list里的数据转移到另外一个list
java将一个list里的数据转移到另外一个list,可以使用for语句,一次使用add方法,示例如下:
ArrayListlist1=newArrayList();
list1.add("1");
list1.add("2");
list1.add("3");
ArrayListlist2=newArrayList();
list2.add("4");
for(inti=0;i<list1.size();i++)
{
list2.add(list1.get(i));//开始复制一个list的内容到另外一个list
}
//这样就可以用list2添加list1的所有元素了!。想把他显示出来可以如下
for(inti=0;i<list2.size();i++)
{
System.out.println(list2.get(i));
}
运行结果如下:
Ⅳ java怎么将list引用转为值
直接用 newList = oldList 是引用传递,复制的是地址!!!!!!!
改变oldList里的内容同样也会影响到newList
值传递可以用Collections.(newList, oldList)
但需要两个List的大小一样,即复制前还需要给newList指定长度
我认为值传递更方便的是newList.addAll(oldList)
Ⅵ JAVA一个泛型数组List<> 怎么复制某几行到另外一个List<>
你明白一个单纯的“?”是什么意思吗?它代表的是任意类型。既可以是有继承关系的,也可以是八竿子都打不到的。比如你想写的大约是这样的class
gen{pulbic
<?
extends
Number>void
listMove(List
<?>list1
,
List<?>
list2,Int
i){list2.add(list1.get(i));}}但是请注意这里?号代表的是任意一个Number的子类,这意味着你如果传入像list1
是List<Long>而list2是List<Double>这样的同级泛型参数,就像这样来调用这个函数list1
=
new
List<Long
>();list2
=
new
List<Double>();listMove(list1,
list2,
i);这个函数的目的显然是把list1
的第i个元素放入list2中,但是请注意list1和list2是不相同,也没有继承关系的同级别类型,你正试图把一个Long
类型放入一个只能够放置Double类型的List
中,如果java允许你这样来操作元素,那不是和泛型本身希望提高类型安全的目的背道而驰了吗?这个问题里你需要注意的是,想要传递的类型参数是有关系的,lIst1的?号应该是list2的本身或者子类才对,你应该这样定义你的方法,你需要对这两个?号有一定的约束这样来定义public
<
T
extends
Object>/*这里可以是你自己对类型的约束,我都是约束成了Object的*/void
listMove(List<?
extends
T>
list1//有条件的约束,?应该是T的子类,
List<T>
list2
,int
i){
list2.add(list1.get(i));
}
Ⅶ java把一个list中的内容添加到另一个list中
在JAVA中,想要把一个list中的内容添加至另一个list中,有两种方法:
采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:
2.集合是Java API所提供的一系列类,可以用于动态存放多个对象。集合与数组的不同在于,集合是大小可变的序列,而且元素类型可以不受限定,只要是引用类型。集合中不能放基本数据类型,但可以放基本数据类型的包装类。 集合类全部支持泛型,是一种数据安全的用法。java列表是集合的一种,并且列表中的元素是有序的,且允许重复。java列表又称为java list。
Ⅷ java 如何将一个list中的值全部复制到另一个list中
ArrayList<String> list1 = new ArrayList<String>();
list1.add("b");
list1.add("d");
// System.out.println(list1);
ArrayList<String> list2=new ArrayList<String>();
list2.addAll(list1);//将list1添加到list2中
System.out.println(list2);
Ⅸ java 如何指定原List其中一部分进行复制到新的list
publicstaticvoidmain(String[]args){
List<String>list1=newArrayList<String>();
List<String>list2=newArrayList<String>();list1.add("1");
list1.add("2");
list1.add("3");list2.add("a");//赋值list1前两个到list2中
System.out.println(list2);
list2.addAll(list1.subList(0,2));//可以先按下标截取,再添加
System.out.println(list2);
}
//运行结果如下:
[a]
[a,1,2]
望采纳