各位大佬我有点不懂,为什么我把链表lk赋值给链表ll后,对ll进行排序,也会影响到lk?怎么做才能不影响呢?.......
谢谢!
为什么要把lk付给ll呢,分别操作就行了
问题:
你这个是浅拷贝,两个list使用的同一个引用(使用的是同一个物理地址)
解决:
如果要改变拷贝后的数据,不改变原始数据,需要深拷贝;
代码:
List<Book> list = new LinkedList<Book>();
t.add("第一本",123,"出版社1");
t.add("第二本",234,"出版社2");
t.add("第三本",345,"出版社3");
List<Book> newList = new LinkedList<Book>();
// 循环赋值
for(int i=0;i<list.size;i++){
Book book = list.get(i);
// 克隆新Book对象进行赋值
newList.add(book .clone());
}
这样就解决了,你再修改这两个集合中的任何数据都不会相互影响了
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632