java集合简述

本文详细介绍了Java集合框架中的主要组成部分,包括Collection、List、Set、Map等接口的实现类及其特性。具体分析了ArrayList和LinkedList在操作上的区别,以及HashSet和TreeSet如何实现元素的唯一性和有序性。

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

  • Collection:一个独立元素的序列,List,Set都实现该接口。

  • List列表:按照插入的顺序保存元素,其元素可以重复。
    分为ArrayList和LinkedList。ArrayList适合快速查找和在尾部的插入。LinkedList适合在任意位置的插入,不适合进行查找。

  • Set集合:其元素不可以重复(通过hashcode和equals函数保证)。
    主要分为HashSet和TreeSet,HashSet的底层是通过Map中的HashMap实现的,TreeSet是通过Map中的TreeMap实现的,TreeSet的元素是有序的,HashSet的元素是无序的。

  • Map是一个映射接口,其中的每个元素都是一个key-value键值对,同样抽象类AbstractMap通过适配器模式实现了Map接口中的大部分函数,TreeMap、HashMap、WeakHashMap等实现类都通过继承AbstractMap来实现,另外,不常用的HashTable直接实现了Map接口,它和Vector都是JDK1.0就引入的集合类。

  • HashMap允许将空值作为一个表的条目的key或value。HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。
    HashMap的方法不同步。
  • HashTable的方法是同步的,HashTable不允许有空值的存在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值