首页 > 其他 > 详细

Java集合类笔试题

时间:2014-03-05 20:23:36      阅读:726      评论:0      收藏:0      [点我收藏+]

bubuko.com,布布扣

 

 

介绍Collection框架的结构

  Collection接口是单值存放的最大父接口,可以向其中保存多个单值的数据(所谓单值就是指集合中的每个元素都是一个对象)。其子接口主要有:List、Set、Queue和SortedSet。

    List:是Collection接口的子接口,也是最常用的接口。此接口对Collection接口进行了大量的扩充,里面的元素是允许重复的。

    set:不能存放重复的元素,所有重复的元素靠hashCode()和equals()两个方法区分。

    queue:队列接口。

    SortedSet:可以对集合中的数据进行排序。

 

Collection框架中实现比较要实现什么接口?

  comparable/comparator

 

ArrayList和Vector的区别

  这两个类都实现了List接口(List接口继承于Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是与Set类的集合的最大不同之处,Set类集不可以按索引号检索其中的元素,也不允许有重复的元素,,这些是废话。。。

   ArrayList与Vector的区别:

比较点 ArrayList Vector
推出时间 JDK 1.2之后推出的,属于新的操作类 JDK 1.0时推出,属于旧的操作类
性能 采用异步处理方式,性能更高 采用同步处理方式,性能较低
线程安全 属于非线程安全的操作类 属于线程安全的操作类
输出 只能使用Iterator、foreach输出 可以使用Iterator、foreach、Enumeration输出

 

  

      Vector是线程安全的,也就是说它的方法之间线程同步的,而ArrayList是线程不安全的,它的方法之间是线程不同步的。如果只有一个线程会访问到集合,那最好使用ArrayList,因为它不考虑线程安全,效率会高些;如果有多个线程会访问到集合,那最好是使用Vector,因为不需要我们自己再去考虑和编写线程安全的代码。 

    备注:对于Vector&ArrayList、Hashtable&HashMap,要记住线程安全的问题,记住Vector与Hashtable是旧的,是java一诞生就提供了的,它们是线程安全的。ArrayList与HashMap是新的操作类,它们是线程不安全的。

    

HashMap与Hashtable的区别:

  

比较点 HashMap Hashtable
推出时间 JDK 1.2之后推出,属于新的操作类 JDK 1.0时推出,属于旧的操作类
性能 采用异步处理方式,性能更高 采用同步处理方法,性能较低
线程安全 属于非线程安全的操作类 属于线程安全的操作类
空键 允许将key设置为null 不允许将key设置为null,否则会出现NullPointerException异常

      

List和Map的区别?

  一个是存储单列数据的集合,另一个是存储键和值这样的双列数据的集合,List中存储的数据是有顺序的,并且允许重复;Map中存储的数据是没有顺序的,其键是不能重复的,但它的值是可以重复的。

 

Java集合类笔试题,布布扣,bubuko.com

Java集合类笔试题

原文:http://www.cnblogs.com/dazuihou/p/3583200.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!