List、Map和Set常用实现类

本文详细介绍了Java集合框架中的Map接口实现类HashMap和LinkedHashMap,以及Set接口实现类HashSet和LinkedHashSet。HashMap是非线程安全、高效的存储结构,而LinkedHashMap则保持了插入顺序。HashSet不允许重复值,而LinkedHashSet在HashSet基础上提供了有序性。此外,还提及了已过时的线程安全类HashTable。
摘要由CSDN通过智能技术生成

List、Map和Set

1、Map

(1) HashMap
HashMap基于 hash 表的 Map 接口实现,非线程安全,高效,支持 null 值和 null
键;无序既插入的顺序的取出的顺序不一致。
在这里插入图片描述

(2) LinkedHashMap
LinkedHashMap是map结构也是链表结构,有序的既插入顺序和取出一致。
在这里插入图片描述

(3) HashTable
线程安全,低效,不支持 null 值和 null 键;

2、Set

(1) HashSet
HashSet底层是由 Hash Map 实现,不允许集合中有重复的值。
在这里插入图片描述
(2) LinkedHashSet
LinkedHashSet继承于 HashSet,同时又基于 LinkedHashMap 来进行实现,底层使用的是 LinkedHashMap。LinkedHashSet中的元素顺序是可以保证的,也就是说遍历序和插入序是一致的。
在这里插入图片描述

3、List

List 集合中对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象,例如通过list.get(i)方法来获取集合中的元素;list本身就是有序的,既插入顺序和取出顺序一致。
(1) ArrayList
查找快,增删慢。因为底层是数组。
在这里插入图片描述
(2) LinkedList
基于链表实现,链表内存是散列的,增删快,查找慢;可以用作栈和队列。
(3) Vector
基于数组实现,线程安全,效率低,增删慢,查找慢;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值