每日五题-java面试题220829

1、Java 中的 LinkedList 是单项链表还是双向链表?

是双向链表,你可以检查 JDK 的源码。在 Eclipse,你可以快捷键 Ctrl+T,直接在编译器中打开该类。

2、java 中的 TreeMap 是采用什么树实现的?

Java 中的 TreeMap 是使用红黑树实现的。

3、Hashtable 与 HashMap 有什么不同之处?

这两个类有许多不同的地方,下面列出了一部分:

a) Hashtable 是 JDK 1 遗留下来的类,而 HashMap 是后来增加的。

b) Hashtable 是同步的,比较慢,但 HashMap 没有同步策略,所以会更快。

c) Hashtable 不允许有个空的 key, 但是 HashMap 允许出现一个 null key。

4、Java 中的 HashSet,内部是如何工作的?

HashSet 的内部采用 HashMap 来实现。由于Map 需要key 和 value,所以所有 key都有一个默认 value。类似于 HashMap, HashSet 不允许重复的key,只允许有一个 null key,意思就是 HashSet 中只允许存储一个 null 对象。

5、写一段代码在遍历 ArrayList 时移除一个元素?

该问题的关键在于面试者使用的是 ArrayList 的 remove() 还是 lterator 的 remove() 方法。这有一段示例代码,是使用正确的方式来实现遍历的过程中移除元素,而不会出现 ConcurrentModificationException 异常的实例代码。

源链接-掘金

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值