微信

使用微信服务,更方便

职友集>Java面试题 > Java的集合对象都有哪些?

Java的集合对象都有哪些?

2015-07-11 06:30:03 阅读( 3 )

2751人 收藏本页

标签:Java面试题

List: 有顺序的,元素可以重复

遍历:for  迭代

排序:Comparable Comparator   Collections.sort()

ArrayList:底层用数组实现的List

特点:查询效率高,增删效率低  轻量级 线程不安全

LinkedList:底层用双向循环链表 实现的List

特点:查询效率低,增删效率高

Vector: 底层用数组实现List接口的另一个类

特点:重量级,占据更多的系统开销 线程安全

 

Set:无顺序的,元素不可重复(值不相同)

遍历:迭代

排序:SortedSet

HashSet:采用哈希算法来实现Set接口

唯一性保证:重复对象equals方法返回为true

重复对象hashCode方法返回相同的整数

不同对象 哈希码 尽量保证不同(提高效率)

 

SortedSet:对一个Set排序

TreeSet:在元素添加的同时,进行排序。也要给出排序规则

唯一性保证:根据排序规则,compareTo方法返回为0,就可以认定两个对象中有一个是重复对象。

 

Map:元素是键值对 key:唯一,不可重复 value:可重复

遍历:先迭代遍历key的集合,再根据key得到value

HashMap:轻量级  线程不安全  允许key或者value是null

Hashtable:重量级 线程安全 不允许key或者value是null

Properties:Hashtable的子类,key和value都是String

 

SortedMap:元素自动对key排序

TreeMap:

 

集合是指一个对象可以容纳了多个对象(不是引用),这个集合对象主要用来管理维护一系列相似的对象。

来自IT公司面试手册

下一篇:Java五个最常用的集合类之间的区别和联系

上一篇:Java匿名内部类

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题