分享

Java每日一题3_关于Java

 太极混元天尊 2018-05-04


题目  ID:javaxxf 

(不定项选择题) 以下集合对象中哪几个是线程安全的?( ) 

A ArrayList

B Vector

C Hashtable

D Stack



答案解析  ID:javaxxf 

正确答案是BCD


集合框架:

Collection:

List:(有序,可重)

ArrayList:有序,可重复;底层使用数组,查询快,增删慢;线程不安全,效率高;容量不足时扩增为当前容量*1.5 + 1;

Vector:有序,可重复;底层使用数组,查询快,增删慢;线程   安全,效率低;容量不足时扩增为当前容量*2;

LinkedList: 有序,可重复;底层使用双向循环链表,查询慢,增删快;线程不安全,效率高;不存容量不足的情况;


Set

HashSet: 底层采用HashMap实现,故性质和HashMap类似

TreeSet: 底层采用TreeMap实现

LinkedHashSet:底层采用LinkedHashMap实现


Map

HashMap: 无序,不可重复(但可以为null),底层采用数组和链表结合的数据结构;线程不安全,效率高;容量一直为2的n次方,即每次都是扩充为原来的2倍

Hashtable:  无序,不可重复(不可以为null),底层采用数组和链表结合的数据结构;线程安全,效率高;容量一直为2的n次方,即每次都是扩充为原来的2倍

TreeMap:  无序,不可重复,底层采用二叉树实现;线程不安全

LinkedHashMap:底层采用链表和哈希表实现,有序,不可重复

故线程安全的有Vector,Hashtable,Stack因继承Vector也是线程安全的


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多