您的位置:首页 > 编程语言 > Java开发

<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 实现的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: