Java基础、多线程、集合、泛型、注解、反射等相关

集合:
一、说说java集合 Collection 的概念
       1】Collection是java中除Map之外所有集合的根集合
       2】List接口也是继承自Collection

二、ArrayList 和 LinkedList 的区别
       1】ArrayList和LinkedList都是对List接口的实现
       2】ArrayList 实现了 RandomAccess接口,支持随机访问,(get和set)效率更高,因为 ArrayList 存储数据结构是基于数组,利用数组的下标直接对元素进行访问。不需要链表线性的存储方式,需要移动指针从前往后依次查找
       3】LinkedList增删(add和remove)效率更高,因为对 LinkedList 进行增删操作时,没有索引下标,所以不会对操作点索引之后的数据造成影响,元素也不需要移动
       4】ArrayList 初次调用add方法时,数组容量为10,数组容量不够时扩展为原来的1.5倍

三、HashMap 和 HashTable 的区别
       1】线程安全的区别,HashMap线程不安全,HashTable是线程安全的(因为HashTable 的方法是基于 Synchronized 的,而 HashMap 不是,在多个线程访问 HashTable 时,不需要自己为它的方法实现同步)
       2】HashMap 允许将 null 作为 key 或者 value,而 HashTable 不允许
       3】HashMap 的初始大小是 16 ,扩容因子默认 0.75 (可以指定初始化大小和扩容因子)

四、HashMap 和 LinkedHashMap 的区别
       1】LinkedHashMap 继承于HashMap,底层基于HashMap和双向链表来实现的
       2】LinkedHashMap有序,HashMap无序。可分为插入顺和访问顺序
       3】双向链表只是为了保证顺序,LinkedHashMap按照插入顺序排序,HashMap基于哈希表
            乱序

五、Java常用集合容器有哪些?
       1】List:有序可重复列表集合
       2】Set:不可重复集合,HashSet 无序,LinkedHashSet 有序,SortedSet 可排序
       3】Map:KV键值对集合,又叫字典集合,可以通过对象来查找某个对象

六、List 和 Set 有什么区别?
       1】List:有序可重复列表集合
       2】Set:不可重复集合,允许值为 null 且只能有一个 null 元素

七、Java中哪些集合是线程安全的
       1】HashTable
       2】JUC包下所有的集合类

八、HashCode 是什么?有什么作用?
      1】HashCode是散列的一种算法,主要是用来在散列存储结构中快速确定对象的存储地址

泛型:
一、泛型中 T和? 是什么?有什么区别?
       1】都是泛型通配符
       2】T 表示具体的类型,需要声明,一般用于定义泛型类或定义泛型方法,也可用于形参
       3】? 表示不确定的类型,不需要声明,一般用于形参,不能用于定义泛型类或泛型方法

二、Object 类是什么?Object 和 T、? 有什么区别?
        1】Object类是所有类的根类,使用的时候可能需要强制类型转换,但是用 T、? 这些通配符,在使用之前类型就已经确定了,不需要强制转换

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值