首页
学习
活动
专区
圈层
工具
发布

Java每日一题3_关于Java

题目 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也是线程安全的

提示:不懂的朋友可以把上面解析背一下!不但可以增强自己对知识点的掌握!而且对以后工作面试也有帮助!给自己定一个任务!每天就背一个知识点!日积月累!希望大家跟着本公众号一起进步!

点击下面的“阅读原文”查看以前的面试题

记得分享给身边有需要的人

小编微信:xxf960326

推荐阅读目录

Java学习求职路线(资料、视频、源码、项目实战)

程序员用这5种方式学习编程最无效,停止这些可以少走弯路!

大学毕业刚培训完Java,没有经验怎么找工作呢?

⊙请问你知道什么是栈吗?

⊙看看你对队列的了解有多少?

⊙面试题68(加深你对栈的理解_让你知道什么是栈)

⊙来测试一下你对数据结构中的栈和队列的了解有多少?

⊙面试题63(链表,哈希表)

⊙ 请你对Java中树的了解有多少?

这个培训机构怎么?

JavaEE就业学习路线(给初学者以及自学者一个学习方向)?

Servlet实现一个简单的登录【验证码】功能

二维码生成源码

java学习微信讨论群

Spring学习笔记

Mybatis学习笔记

举报
领券