面试重灾区!Java 集合框架,都给你整理好了!

· 同步或线程安全

· Null键和Null值

· 迭代值

· 默认容量大小

3.comparable 和 comparator的不同之处?


· comparable接口实际上是出自java.lang包

· 它有一个 compareTo(Object obj)方法来将objects排序

· comparator接口实际上是出自 java.util 包

· 它有一个compare(Object obj1, Object obj2)方法来将objects排序

需要更多大厂面试资料的话也可以点击直接进入,免费获取!暗号:CSDN

4.如何对Object的list排序?


· 对objects数组进行排序,我们可以用Arrays.sort()方法

· 如果要对objects的集合进行排序,需要使用Collections.sort()方法

5. fail-fast 与 fail-safe 之间的区别?


· Fail fast快速地报告任何的failure。无论何时任何一个问题都会引发 fail fast系统fails

· 在Java Fail fast 迭代器中,迭代objects集合有时会出现并发修改异常,出现这种情况有2个原因

· 如果一个线程正在迭代一个集合,而另一个线程同时试图修改这个集合

· 在调用remove()方法后,如何我们还试图去修改集合object

6. Iterator、ListIterator 和 Enumeration的区别?


· Enumeration接口在Java1.2版本开始有,所以Enumeration是合法规范的接口

· Enumeration使用elements()方法

· Iterator对所有Java集合类都有实现

· Iterator使用iterator方法

· Iterator只能往一个方向前进

· ListIterator仅仅对List类型的类实现了

· ListIterator使用listIterator()方法

7.Java 中 Set 与 List 有什么不同?


· Set是一个不允许重复元素存在的集合

· Set没有索引

· Set仅仅允许一个null值

· Set有类:HashSet、LinkedHashMap、TreeSet

· List有索引

· List允许N个null值

· List可以按插入顺序显示

· List有类:Vector、ArrayList、LinkedList

8. arraylist 与 vector 的区别?


· Vector 在Java的第一个版本就引入了,也就是说vector是一个合法规范的类

· ArrayList在Java1.2版本引入的,是Java 集合框架的组成部分

· Vector是同步的

· ArrayList是不同步的

9.什么类实现了List接口?


· ArrayList

· LinkedList

· Vector

10.什么类实现了Set接口?


· HashSet

· LinkedHashSet

· TreeSet

11.如何保证一个集合线程安全?


· Vector, Hashtable, Properties 和 Stack 都是同步的类,所以它们都线程安全的,可以被使用在多线程环境中

· 使用Collections.synchronizedList(list)) 方法,可以保证list类是线程安全的

· 使用java.util.Collections.synchronizedSet()方法可以保证set类是线程安全的

需要更多大厂面试资料的话也可以点击直接进入,免费获取!暗号:CSDN

12.是否可以往 TreeSet 或者 HashSet 中添加 null 元素?


· 可以往 hashset 中添加一个 null

· TreeSet 也允许一个 null值

13.Iterator符合哪个设计模式?


· Iterator 设计模式

14.HashSet 实现了哪个数据结构?


· HashSet 内部实现了hashmap

15.为什么 Collection 不能继承 Cloneable 和 Serializable?


· List和Set唯一继承 Collection 接口

· SortedMap 继承了 Map 接口

总结

蚂蚁面试比较重视基础,所以Java那些基本功一定要扎实。蚂蚁的工作环境还是挺赞的,因为我面的是稳定性保障部门,还有许多单独的小组,什么三年1班,很有青春的感觉。面试官基本水平都比较高,基本都P7以上,除了基础还问了不少架构设计方面的问题,收获还是挺大的。


经历这次面试我还通过一些渠道发现了需要大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

蚂蚁金服5面,总结了49个面试题,遇到的面试官都是P7级别以上

基本水平都比较高,基本都P7以上,除了基础还问了不少架构设计方面的问题,收获还是挺大的。


经历这次面试我还通过一些渠道发现了需要大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。

[外链图片转存中…(img-S4L1ggv3-1721203366779)]

  • 15
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值