关于JAVA中的集合(1)

本文深入解析Java集合框架的三大核心部分:Map、List和Set。详细介绍各子类如HashMap、TreeMap、HashSet、TreeSet、ArrayList和LinkedList的特点及应用场景,对比它们在数据结构、查询速度、增删操作和线程安全性上的差异。
摘要由CSDN通过智能技术生成

在开始这篇博客之前,先要搞懂集合就要先搞清楚他的具体分类:
集合分为Map和Collection两大类 ;
而List与Set是继承自Collection,而Map不是,所以经常将集合分三块:Map,List,Set ;
接着细分:
Map 分为 HashMap 和 TreeMap;
Set 分为 TreeSet 和 HashSet;
List 分为 ArrayList 和 LinkedList ;

一、List :(注意:list中存储的是对象的引用,而不是对象本身)

  1. 所有的List中只能容纳单个不同类型的对象组成的表,而不是Key-Value键值对。例如:[ tom,1,c ];
  2. 所有的List中可以有相同的元素,例如Vector中可以有 [ tom,koo,too,koo ];
  3. 所有的List中可以有null元素,例如[ tom,null,1 ];

①ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处。

PPT:
在这里插入图片描述

②LinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列进行操作。实现 List 接口,能对它进行队列操作。实现java.io.Serializable接口,这意味着LinkedList支持序列化,能通过序列化去传输。

在这里插入图片描述

区别:
ArrayList 底层数据结构是数组 查询快 增删慢 线程不安全 效率高 默认长度是10 超过就会new一个新的数组 50%延长 节省空间 。
LinkedList 底层数据结构是链表(双向链表) 查询慢 增删快 线程不安全 效率高。

List 接口常用方法:在这里插入图片描述

以上多数引用百度百科以及课堂PPT。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值