Map、Set、List、Queue、Stack的特点与用法

本文详细介绍了Java集合框架中的主要类型,包括Map、Set、List、Queue及Stack的特点和使用场景。解释了各种集合类型的特性,如Map中键的唯一性、TreeMap的排序功能、HashMap的无序性等,并给出了不同应用场景下的推荐选择。

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

  • Map

Map是键值对,键Key是唯一不能重复的,一个键对应一个值,值可以重复。 
TreeMap可以保证顺序,HashMap不保证顺序,即为无序的。 
Map中可以将Key和Value单独抽取出来,其中KeySet()方法可以将所有的keys抽取正一个Set。而Values()方法可以将map中所有的values抽取成一个集合。

  • Set

不包含重复元素的集合,set中最多包含一个null元素 
只能用Lterator实现单项遍历,Set中没有同步方法。

  • List

有序的可重复集合。 
可以在任意位置增加删除元素。 
用Iterator实现单向遍历,也可用ListIterator实现双向遍历

  • Queue

Queue遵从先进先出原则。 
使用时尽量避免add()和remove()方法,而是使用offer()来添加元素,使用poll()来移除元素,它的优点是可以通过返回值来判断是否成功。 
LinkedList实现了Queue接口。 
Queue通常不允许插入null元素。

  • Stack 
    Stack遵从后进先出原则。 
    Stack继承自Vector。 
    它通过五个操作对类Vector进行扩展,允许将向量视为堆栈,它提供了通常的push和pop操作,以及取堆栈顶点的peek()方法、测试堆栈是否为空的empty方法等

  • 用法

如果涉及堆栈,队列等操作,建议使用List 
对于快速插入和删除元素的,建议使用LinkedList 

如果需要快速随机访问元素的,建议使用ArrayList


转载自>http://blog.youkuaiyun.com/oLaoHuBuChiRen1/article/details/51127151

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值