集合总结

本文详细介绍了Java集合框架的各类集合特点及应用场景,包括List、Set、Map等,并深入探讨了不同集合之间的区别,如ArrayList与LinkedList的选择依据,以及HashMap与Hashtable的特性对比。

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

学习了java集合,对整体框架有个了解

这里写图片描述

collection:(单列集合)

1.List:有序,可重复       
        ArrayList--底层数据结构是数组,查询快,增删慢,线程不安全,效率高
        LinkedList--底层数据结构是链表,查询慢,增删快,线程不安全,效率高
        Vector--底层数据结构是数组,查询快,增删慢,线程安全,效率低

2.Set:无序,唯一
    HashSet
        底层数据结构是哈希表

        如何保证元素的唯一性呢?
            依赖于两个方法:hashCode()和equals()
            自动生成这两个方法即可

            -LinkedHashSet
                底层是哈希表和链表
                哈希表保证唯一性
                链表保证元素的有序性
    TreeSet
        底层数据结构是红黑树。

        怎样保证元素的唯一性呢?
            通过比较返回值是否是0来决定

        怎样保证元素排序呢?
            自然排序
            比较器排序

Map(双列集合)

是一种存储键值对映射的容器类,在Map中键可以是任意类型的对象,但不能有重复的键,每个键都对应一个值

1.HashMap
底层数据结构是哈希表
-LinkedHashMap
底层是哈希表和链表

2.TreeMap
底层数据结构是红黑树。

HashMap和HashTable的区别?

HashMap是非同步的,键值允许使用null;
Hashtable是同步的,键值不允许使用null

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值