List,Set,Map存取元素各有什么特点?hashMap、hashTable的区别?Arraylist和linkedList的区别?

本文详细对比了List、Set、Map三种集合类型的存取特点,并深入解析了hashMap与hashTable的区别,以及Arraylist与linkedList的不同之处。此外,还介绍了线程安全的相关集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    List,Set,Map存取元素各有什么特点?

1.存放

(1)List存放元素是有序,可重复

(2)Set存放元素无序,不可重复

(3)Map元素键值对形式存放,键无序不可重复,值可重复

2.取出

(1)List取出元素for循环,foreach循环,Iterator迭代器迭代

(2)Set取出元素foreach循环,Iterator迭代器迭代

(3)Map取出元素需转换为Set,然后进行Iterator迭代器迭代,或转换为Entry对象进行Iterator迭代器迭代

   hashMap、hashTable的区别?

1.hashMap是线程不安全的,hashTable是线程安全的,性能要低

2.hashMap允许键值都为空,只允许有一条记录的键为空,值可以多个;hashTable不允许建为空和值为空

    Arraylist和linkedList的区别?

1.Arraylist使用数组实现的,linkedlist使用链表实现的

2.查询、修改Arraylist比较快,因为linkedlist要移动指针

3.添加、删除linkedList要快,因为Arraylist要移动数据


   线程安全:Vector HashTable  StringBuffer

线程不安全:ArrayList HashMap StringBuilder


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值