<Java 提高篇>阅读笔记
2014-10-10 19:24
471 查看
原文:http://blog.csdn.net/column/details/chenssy-javaimpr.html
1、clone() 只是浅拷贝,深拷贝用 Serializable
public class CloneUtils {
public static <T extends Serializable> T clone(T obj){
T cloneObj = null;
try {
//写入字节流
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream obs = new ObjectOutputStream(out);
obs.writeObject(obj);
obs.close();
//分配内存,写入原始对象,生成新对象
ByteArrayInputStream ios = new ByteArrayInputStream(out.toByteArray());
ObjectInputStream ois = new ObjectInputStream(ios);
//返回生成的新对象
cloneObj = (T) ois.readObject();
ois.close();
} catch (Exception e) {
e.printStackTrace();
}
return cloneObj;
}
}
obj必须实现Serializable
2、hashCode 用途:与对象存储的物理位置有关
3、TreeMap 的 实现 :红黑树 (一种自平衡的排序二叉树)
4、TreeSet 的 实现:基于TreeMap实现的,也就是相当于基于红黑树实现
5、同样,HashSet 是基于HashMap 实现的。
1、clone() 只是浅拷贝,深拷贝用 Serializable
public class CloneUtils {
public static <T extends Serializable> T clone(T obj){
T cloneObj = null;
try {
//写入字节流
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream obs = new ObjectOutputStream(out);
obs.writeObject(obj);
obs.close();
//分配内存,写入原始对象,生成新对象
ByteArrayInputStream ios = new ByteArrayInputStream(out.toByteArray());
ObjectInputStream ois = new ObjectInputStream(ios);
//返回生成的新对象
cloneObj = (T) ois.readObject();
ois.close();
} catch (Exception e) {
e.printStackTrace();
}
return cloneObj;
}
}
obj必须实现Serializable
2、hashCode 用途:与对象存储的物理位置有关
3、TreeMap 的 实现 :红黑树 (一种自平衡的排序二叉树)
4、TreeSet 的 实现:基于TreeMap实现的,也就是相当于基于红黑树实现
5、同样,HashSet 是基于HashMap 实现的。
相关文章推荐
- Java_web初学笔记之<MyEclipse自动提示设置 空格和等号不补全>
- <C++Primer>第四版 阅读笔记 第二部分 “容器和算法”
- Java笔记7 Java基础加强<5>ClassLoader
- Java笔记7 Java基础加强<2>内省
- Java笔记7 Java基础加强<1>反射
- Java笔记7 Java基础加强<4>泛型
- <Head First Java>学习笔记--第一章:基本概念
- <Head First Java>学习笔记--第六章:认识Java的API
- <Head First Java>学习笔记--第五章:编写程序
- <C++Primer>第四版 阅读笔记 第三部分 “类和数据抽象”
- <<thinking in java>>阅读笔记01
- <Head First Java>学习笔记--第二章:类与对象
- <JAVA学习笔记一>——程序的国际化
- <C++Primer>第四版 阅读笔记 第四部分 “面向对象编程与泛型编程”
- <Head First Java>学习笔记--第三章:primitive主数据类型和引用
- Java笔记7 Java基础加强<3>注解
- Java笔记7 Java基础加强<6>加密
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>会报错
- <转>学习java反编译工具的使用
- <高性能JavaScript>笔记 [4~6]