欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入
5.集合框架:具体类
■ 当一个集合创建时要消除动态增长的代价,为其指定一个实际初始大小
一些具体类(如:ArrayList)的动态增长的代价是很高的
■ 在适当的地方考虑重用集合对象
一 调用集合的clear()方法清楚它的所有元素
■ Object.hashCode()
一 选择一个算法保证哈希表的统一分配
一 覆盖继承的Object.hashCode()方法, 默认的实现返回的是对象引用值,没有展示一个一致的分配
一 从不返回一个常量
一 非常小心地改变键的值的底层状态
6.集合框架:实现数据结构
■ 如果一定要实现自己的数据结构,依赖于集合接口实现你的类
一 可以使用java.util.Collections工具方法恰当地实现你的具体数据结构
■ 扩大数据结构集合,你可以插入其它的开发成果
7.集合框架:基础算法
■ Java.util.Collections类里的算法
一 sort(…..)
以升序重新排列List的元素
轻微地优化MergeSort-O(nlog(n))的版本
一 binarySearch(….)
在一个已排序的List里查找指定的元素
一 极限值
min(…) max(….)
一 其它
reverse(….),fill(….), copy(…)
8.数组
■ 数组与ArrayList与Vector
一 数组的速度大约比ArrayList快十倍
一 数组的速度大约比Vector快40倍
一 ArrayList的速度大约比Vevtor快3-4倍
■ 当拷贝一个数组的元素到另一个数组时,使用System.arrycopy(…)
9.数组:基础算法
■ JAVA2的java.util.Arrays类提供了一组重载方法,为基础数组实现了最佳化的算法(与java.util.Collections类相似)
■ Java.util.Arrays类的里的算法
一 binarySearch(…)
一 equals(…)
一 fill(…)
一 sort(…)
[1][2]
坚硬的城市里没有柔软的爱情,生活不是林黛玉,