1. Java的泛型是如何工作的 ? 什么是類型擦除 ?
https://www.cnblogs.com/JohnTeslaaa/p/12706786.html
2.List<? extends T>和List <? super T>之間有什么區別 ?
https://www.cnblogs.com/JohnTeslaaa/p/12706615.html
3.如何編寫一個泛型方法,讓它能接受泛型參數並返回泛型類型?
https://www.cnblogs.com/JohnTeslaaa/p/12706615.html
4.Java中如何使用泛型編寫帶有參數的類?
https://www.cnblogs.com/JohnTeslaaa/p/12706615.html
5.編寫一段泛型程序來實現LRU緩存?
- Map中帶入參數<K,V>
- 重寫LinkedHashMap的removeEldestEntry()的方法即可
package LRU;
import java.util.LinkedHashMap;
import java.util.Map;
public class UseLinkedHashMapCache<K, V> extends LinkedHashMap<K, V> {
private int cacheSize;
public UseLinkedHashMapCache(int cacheSize) {
super(16, 0.75f, true);
// true 表示讓 linkedHashMap按照訪問順序來進行排序,最近訪問的放在頭部,最老訪問的放在尾部。
this.cacheSize = cacheSize;
}
@Override
protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
// 當map中的數據量大於指定的緩存個數的時候,就自動刪除最老的數據。
return size() > cacheSize;
}
}