1. Java 集合中的 trimToSize()
和 ensureCapacity(int minCapacity)
有什么用哀托?各說一個(gè)例子上真?
- 這兩者都可以用于特定環(huán)境下的集合性能優(yōu)化
-
trimToSize()
, 在大長度集合使用完畢绢馍,要變成小長度集合時(shí)向瓷,調(diào)用一下,可以釋放多余的集合長度舰涌。 -
ensureCapacity(int minCapacity)
猖任,在小長度集合確定要變成大長度集合時(shí),調(diào)用一下舵稠,可以一步到位進(jìn)行擴(kuò)容超升,從而節(jié)約反復(fù)擴(kuò)容和擴(kuò)容時(shí)數(shù)據(jù)拷貝的消耗。
2. 如何對(duì)泛型的類型添加一些限制哺徊?
image.png
3. 要讓類本身具備可比較屬性
室琢,我們第一時(shí)間要想到什么?
-
Comparable 接口
落追,并且實(shí)現(xiàn)compareTo 方法
4. 要讓第三方類盈滴,或者不可修改的類,實(shí)現(xiàn)按自定義要求進(jìn)行排序轿钠,我們第一時(shí)間要想到什么巢钓?
-
Comparator 接口
,并且實(shí)現(xiàn)compare 方法
5. Comparable VS Comparator
image.png
6. 什么是通配符疗垛? 什么是無限制通配符症汹?
image.png
image.png
7. 如何設(shè)置一個(gè)泛型的上界?比如T 必須是Number 或者 Number 的子類
image.png
8. 如何設(shè)置一個(gè)泛型的下界贷腕?比如 T 必須是 Integer 或者 Integer 的父類
image.png