ArrayList和HashMap都有clone方法,是不是clone方法无法完全复制一个结构???

smcdl 2003-10-18 02:42:49
ArrayList和HashMap都有clone方法,是不是clone方法无法完全复制一个结构???
...全文
383 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckyappl 2003-11-26
  • 打赏
  • 举报
回复
LinkedList list = new LinkedList();
HashMap map = new HashMap();
map.put("a","1");
list.add(map);

LindedList cloneList = new LinkedList();
HashMap map1=new HashMap();
map1=(HashMap)map.clone();
cloneList.add(map1);
qmei 2003-11-25
  • 打赏
  • 举报
回复
要实现深度复制,那就不用 clone方法了,创建一个相同的对象,把这个arrayList或HashMap的值导入到那个创建的对象中,不就可以了
luckyappl 2003-11-25
  • 打赏
  • 举报
回复
怎样实现深度复制呢?
ssht968 2003-10-19
  • 打赏
  • 举报
回复
ding
byg007 2003-10-18
  • 打赏
  • 举报
回复
java里直接用clone()方法只能实现浅度复制,这样虽然得到两个对象,但他们内部的东西是共享的;如果想实现深度复制只能把对象系列化,再读取对象,这样就实现了深度复制,两个对象内部的东西就不是共享的了
smcdl 2003-10-18
  • 打赏
  • 举报
回复
天哪,这太可怕了,clone根本就不可靠,那clone方法在什么时候用呢???
zhanghuazhanghome 2003-10-18
  • 打赏
  • 举报
回复
关注
whyxx 2003-10-18
  • 打赏
  • 举报
回复
不会进行深度clone,比如有一个类,里面有一个arrayList,然后我们对这个类进行clone,这时两个类里的arrayList实际上指向同一对象,改变其中一个,另一个随之而改变,
smcdl 2003-10-18
  • 打赏
  • 举报
回复
我的意思是,如果一个ArrayList包含一个HashMap和若干对象,clone方法是不是把所有对象都建立新的对象,意思就是,不光clone外壳,内部的所有对象全部clone???
pleonheart 2003-10-18
  • 打赏
  • 举报
回复
不太清楚,学习
hashmap的底层原理 hashmap产生死锁的原因 hashmap的容量为什么一定要是2的幂呢 TreeMap的底层原理 HashMap,Hashtable和ConcurrentHashMap的区别 在ArrayList和LinkedList尾部添加元素,谁的效率更高 如果HashMap或者hashTable的key是一个自定义的类该怎么办 为什么重写equals还要重写hashCode? 介绍一下volatile jdk1.5新特性 jdk1.7新特性 jdk1.8新特性 java语言有哪些优点? 同一个.java文件中是否可以有多个main方法 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 如何在main方法执行前输出”hello world” java程序的初始化顺序 请说出作用域public,private,protected,以及不写时的区别 为什么java中有些接口没有任何方法 java中的clone方法有什么作用 面向对象有哪些特征 面向对象的开发方式有什么优点 组合和继承有什么区别 多态的实现机制是什么 重写和重载的区别 抽象类和接口有什么区别 break如果跳出多重循环 final,finally和finalize有什么区别 使用switch时有哪些注意事项 instanceof有什么作用 什么是不可变类 类型转换 Math类的round,ceil和floor方法 值传递和引用传递有什么不同? char型变量是否可以存储一个中文汉字 s=null和s=” ”是否相同 new String(“abc”)创建了几个对象 String变量做“+”运算时的编译优化 "=="和equals方法究竟有什么区别 String,StringBuffer,StringBuilder有什么区别 java中的数组是不是对象 数组初始化的方式有哪几种 length属性和length()方法有什么区别 finally块中的代码什么时候被执行 Java中的异常处理机制的简单原理和应用。 java socket java序列化 JVM加载class文件的原理 双亲委派模型 为什么要自定义类加载器 如何自定义类加载器 什么是GC 内存泄漏和内存溢出 Java的内存模型(JVM的内存划分) JVM内存模型1.7和1.8的区别 如何判断一个对象是否是垃圾对象 垃圾回收算法 Minor GC和Full GC 垃圾收集器 集合的继承体系 Collection 和 Collections的区别。 如何通过jdbc访问数据库 JDBC处理事务采用什么方法 Statement和PreparedStatement的区别 getString()方法和getObject()方法有什么区别 jdbc和hibernate有什么区别 http1.0和http1.1和http2.0的区别 http和https的区别 http缓存 cookie和session forward与redirect区别 页面请求的工作流程 HTTP中的GET和POST方法有什么区别 什么是Servlet servlet是线程安全的吗 Servlet的生命周期 JSP和Servlet的区别和联系 什么是MVC模型 TCP的连接和释放过程 什么是长连接和短连接 长连接是如何实现的 计算机网络体系结构 谈谈你对Struts的理解。 谈谈你对Hibernate的理解。 谈谈你对Lucene和solr的理解 谈谈你对ActiveMQ的理解 Spring的IOC,DI和AOP 谈谈你对webservice和dubbo的理解 谈谈你的SOA的理解。 谈谈你对freemarker的理解 谈谈你对springMVC的理解 谈谈你对mybatis的理解 hibernate和mybatis的区别 同步接口和异步接口的区别 为什么要加入锁机制 如何确定是否应该上锁?即如何判断是否有线程安全问题 什么是markword 乐观锁和悲观锁 偏向锁 轻量级锁 自旋锁 自适应自旋锁 重量级锁 synchronized 可重入锁 土方法实现可重入锁 使用AQS类实现可重入锁 CAS MySQL 中的行级锁、表级锁和页级锁 java中的死锁 公平锁和非公平锁 锁的总结 锁的优化 .......... 还有好多,不想写了,太多了,都是题主呕心沥血总结的

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧