备战秋招--容器

容器

18、java中容器都有哪些?

java中容器分为单列的集合和双列的集合;

单列集合的顶级接口是collection,子接口有list、queue和set,其中list的实现类有vector、arraylist和linkedlist,其中vector有子类stack,queue有实现类linkedlist和priorityqueue,set有实现类hashset和treeset;

双列的集合有顶级接口map,实现类有hashmap、hashtable和treemap,其中hashmap有子类linkedhashmap,hashtable有子类properties。

19、collection和collections有什么区别?

collect是java集合的一个顶级接口,而collections是java集合的一个工具类,里面有许多操作java集合的方法。

20、list、set、map之间的区别?

list接口是有序、可重复、有索引,set接口是无序、不重复、无索引,map的key不可重复;list和set继承自collection接口,而map本身便是顶级接口,list、set、map三者之间的实现类也是各不相同;常用方法有些也不同,list和set放元素都是用add,map放元素使用put,map还有keyset和values方法将key和value形成一个集合;

21、hashmap和hashtable有什么区别?

底层的数据结构不一样,hashmap底层是数组+链表+红黑树,而hashtable底层是数组+链表;hashtable是线程安全的,hashmap线程不安全;hashmap运行空键值而hashtable不允许。

22、如何决定使用hashmap还是treemap?

hashmap的底层是数组+链表+红黑树,有数组链表还有树的特性,因此适合插入删除和定位元素。

tresmap底层是红黑树,保留有树的特性,如果有大量的数据需要遍历,使用treemap无疑是个更好的选择。

23、说一说hashmap的实现原理?

jdk1.8之前hashmap的底层是数组+链表;而jdk1.8之后hashmap的底层是数组+链表+红黑树;当存入一个元素时,先通过hascode()方法算出这个元素在哈希表中存放的位置,这期间如果有大量的元素存在哈希表的同一个位置,则该位置会形成一个链表,当链表的长度大于8时,此链表就会转为红黑树。

24、说一说hashset的实现原理?

hashset是基于hashmap实现的,hashset的值存放在hashmap的key中,hashmap的值统一为present。

接下来的都会懒得写,因为到饭点了,饿死了溜了溜了。

25. ArrayList 和 LinkedList 的区别是什么?

26. 如何实现数组和 List 之间的转换?

27. ArrayList 和 Vector 的区别是什么?

28. Array 和 ArrayList 有何区别?

29. 在 Queue 中 poll()和 remove()有什么区别?

30. 哪些集合类是线程安全的?

31. 迭代器 Iterator 是什么?

32. Iterator 怎么使用?有什么特点?

33. Iterator 和 ListIterator 有什么区别?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java登云楼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值