20个最佳的Java集合框架面试题目

来源:互联网 发布:网络大电影需要审批吗 编辑:程序博客网 时间:2024/04/28 19:59
1为什么Map接口不继承Collection 接口?

·Set是无序集合,并且不允许重复的元素

·List是有序的集合,并且允许重复的元素

·而Map是键值对

·它被视为是键的set和值的set的组合

·Map被设计为键值对的集合,所以不需要继承Collection接口


2HashMap和Hashtable之间的区别?

·同步或线程安全

·Null键和Null

·迭代值

·默认容量大小


3comparable 和 comparator的不同之处?

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

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

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

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


4如何对Object的list排序?

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

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


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

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

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

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

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


6Iterator、ListIterator 和 Enumeration的区别?

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

·Enumeration使用elements()方法

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

·Iterator使用iterator方法

·Iterator只能往一个方向前进

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

·ListIterator使用listIterator()方法


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

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

·Set没有索引

·Set仅仅允许一个null

·Set有类:HashSetLinkedHashMapTreeSet

·List有索引

·List允许Nnull

·List可以按插入顺序显示

·List有类:VectorArrayListLinkedList


8arraylist 与 vector 的区别?

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

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

·Vector是同步的

·ArrayList是不同步的


9什么类实现了List接口?

·ArrayList

·LinkedList

·Vector


10什么类实现了Set接口?

·HashSet

·LinkedHashSet

·TreeSet


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

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

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

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


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

·可以往 hashset中添加一个 null

·TreeSet也允许一个 null


13解释下Collection的接口继承关系?


14Iterator符合哪个设计模式?

·Iterator设计模式


15HashSet 实现了哪个数据结构?

·HashSet内部实现了hashmap


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

·ListSet唯一继承Collection 接口

·SortedMap继承了 Map 接口


17hashCode() 和 equals() 方法的重要性?如何在Java中使用它们?

·hashCode()equals() 方法定义在"object"类中

·如果equals()方法在比较2个对象时返回true,那么hashCode()的返回值必须得一样


18array 和 arraylist 的区别?

·Array类似object集合类型,大小固定

·Arraylist是同质和异质元素的集合


19什么是 Properties 类?

·PropertiesHashtable的子类。它被用于维护值的list,其中它们的键、值都是String类型


20如何将一个字符串转换为arraylist?·使用 arrayList.toArray()方法
0 0
原创粉丝点击