1. Java 集合中的 trimToSize() 和 ensureCapacity(int minCapacity) 有什么用?各说一个例子?
- 这两者都可以用于特定环境下的集合性能优化
-
trimToSize(), 在大长度集合使用完毕,要变成小长度集合时,调用一下,可以释放多余的集合长度。 -
ensureCapacity(int minCapacity),在小长度集合确定要变成大长度集合时,调用一下,可以一步到位进行扩容,从而节约反复扩容和扩容时数据拷贝的消耗。
2. 如何对泛型的类型添加一些限制?

image.png
3. 要让类本身具备可比较属性,我们第一时间要想到什么?
-
Comparable 接口,并且实现compareTo 方法
4. 要让第三方类,或者不可修改的类,实现按自定义要求进行排序,我们第一时间要想到什么?
-
Comparator 接口,并且实现compare 方法
5. Comparable VS Comparator

image.png
6. 什么是通配符? 什么是无限制通配符?

image.png

image.png
7. 如何设置一个泛型的上界?比如T 必须是Number 或者 Number 的子类

image.png
8. 如何设置一个泛型的下界?比如 T 必须是 Integer 或者 Integer 的父类

image.png
