集合类源码

5.1 工作中有没有遇到特别好用的工具类,如何写好一个工具类
答:有的,像 Arrays 的排序、二分查找、Collections 的不可变、线程安全集合类、Objects 的判空相等判断等等工具类,好的工具类肯定很好用,比如说使用 static final 关键字对方法进行修饰,工具类构造器必须是私有等等手段来写好工具类。

5.2 写一个二分查找算法的实现
答:可以参考 Arrays 的 binarySearch 方法的源码实现。

5.3 如果我希望 ArrayList 初始化之后,不能被修改,该怎么办
答:可以使用 Collections 的 unmodifiableList 的方法,该方法会返回一个不能被修改的内部类集合,这些集合类只开放查询的方法,对于调用修改集合的方法会直接抛出异常。

总结
从三大工具类中,我们不仅学习到了如何写好一个工具类,还熟悉了三大工具类的具体使用姿势,甚至了解了其底层的源码实现,有兴趣的话,可以自己也可以仿照写个好用的工具类加深学习。

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

你可能感兴趣的:(集合类源码)