专注于 JetBrains IDEA 全家桶,永久激活,教程
提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,等工具的永久激活

javase集合(list、set、map、Arraylist与linkedList、HashMap与HashTable、HashTable与ConcurrentHashMap)

1、java中的集合

(1)单列集合(collection):

39_1.png

List集合:存取有序,有索引,元素可以重复

Set集合:存取无序,没有索引,元素不可以重复(根据equals和hashCode判断),也就是说如果一个对象要存储在Set中,必须重写equals和hashCode方法。

(2)双列集合(Map):

39_2.png

2、Arraylist与linkedList的区别

(1)特点:

Arraylist底层使用的是数组:具有索引,查询快,增删慢,数组在内存中是一块连续的内存,插入或删除需要移动大量的元素

LinkedList底层使用的是链表:当前元素分为数据域和指针域,指针域存放下一个或上一个元素的地址,查询时从头部开始,一个一个地找,查询效率较低。插入时不需要移动内存中的元素,只需要改变引用的指向即可,所以插入或删除的效率高。

(2)使用场景:

ArrayList:使用在查询比较多,插入删除较少的情况

LinkedList:使用在查询比较少,插入和删除比较多的情况

3、HashMap与HashTable的区别和联系

(1)相同点:

都可以用来存储key_value的数据

(2)不同点:

HashMap可以把null作为key或者value,而HashTable不可以

HashMap线程不安全,效率较高,HashTable线程安全,效率较低

4、HashTable与ConcurrentHashMap的区别和联系

使用分段,相当于把一个hashmap分成多个段,每一段分配一把锁,这样就可以支持多线程访问,所以,多线程的情况下效率较高。

文章永久链接:https://tech.souyunku.com/22839

未经允许不得转载:搜云库技术团队 » javase集合(list、set、map、Arraylist与linkedList、HashMap与HashTable、HashTable与ConcurrentHashMap)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们