码迷,mamicode.com
首页 > 编程语言 > 详细

Java泛型常见面试题

时间:2020-04-16 01:04:43      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:之间   code   面试   参考   lin   头部   move   类型   log   

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;
    }
}

6.你可以把List传递给一个接受List参数的方法吗?

不可以,参考https://www.cnblogs.com/JohnTeslaaa/p/12708928.html

附录:试题来源参考
https://www.cnblogs.com/huajiezh/p/6411123.html

Java泛型常见面试题

标签:之间   code   面试   参考   lin   头部   move   类型   log   

原文地址:https://www.cnblogs.com/JohnTeslaaa/p/12706934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!