今天看到集中集合的排序方法,感觉自己以前写的代码还有很大提升的余地,很多代码都只是实现了功能,但没有做到最优化。以后得严格要求自己,力求每一段功能都能做到最优化。
下面截取Thinking in java的一小段经典描述:
下面是一个集合类使用的一览:
总结了一下:
1、Queue平时用到的比较少,可能是因为随机读取的速度慢吧,平时更多的是用List来实现。这块我觉得应该思考一下,为了实现最快的速度,要区分好这个集合类是以随机读取为主(LinkedList),还是以添加/删除队列为主(ArrayList)。
2、排序的话,以前喜欢自己写算法,最后导致的结果就是维护起来困难。觉得以后应该多用比较器,无论是TreeSet还是Arrays.sort都是比较整齐的写法,效率上也会比自己写会高。
3、Vector、Hashtable、Stack这三个老容器不建议使用了,他们的特点就是都是线程安全的。可现在的编程对这种线程安全的集合类使用的场景并不多,并且如果真要是使用的话,也可以手写synchonize来实现,更直观、更灵活。
下面是自己做的几个小练习,主要是一些集合类的排序功能。
原文地址:http://blog.csdn.net/zhao9tian/article/details/37373723