Java算法学习补充——Java各种集合的理解及使用

一、Java内置的各种集合框架

Java集合框架基本内容,共分为俩大部分,Collection接口和Map接口。关系如下:

在这里插入图片描述
在这里插入图片描述

注意:

①在图一中,没有注明接口的,都是实现类;在图二中,接口与抽象类与实现类都已经标注

②这两个流程图片都没有完全的显示出Java自带的集合结构,综合了两者才是齐全的。比如图①中的Collection集合中缺少了一个Queue接口(队列)和Deque(双端队列),而这两者实现的类都是LinkedList(Queue还实现了一个优先队列的类),因此新建对象的时候,可以如下:

Queue <String> queue=new LinkedList<String>();
Queue <String> priorityqueuq=new PrioritQueue<String>();
Deque <String> deque=new LinkedList<String>();

③图一中,set接口缺少了Treeset的实现类,图二中的set缺少了LinkedHashset的实现类;Map也是,所以要综合这两个图。

二、对接口的解释

  1. Collection :用来存储管理一组对象 objects ,这些对象一般被成为元素 elements
  2. Set : 元素不能重复,背后隐含着查找/搜索的语义 ,不要求顺序(1,2,3与3,2,1是相同的set)
  3. SortedSet : 一组有序的不能重复的元素
  4. List : 线性结构,里面的元素是相对有序的并且可以重复,可以在中间插入删除
  5. Queue : 队列,元素之间相对有序,只能头插,头删,尾插,尾删
  6. Deque : 双端队列
  7. Map:key-value键值对,即key可以自己自定义,而collection的键值对不可,均为整型。其中,key不可以重复,value可以
  8. SortedMap:一组有序的Map

三、对各个集合操作学习的参考博客

①List接口的ArrayList,LinkedList实现类,Set接口的HashSet,TreeSet实现类,Map接口的HashMap,TreeMap实现类的底层理解和操作可看下面的连接:

https://blog.csdn.net/shuyv/article/details/112450199?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

②List接口的Vector底层理解和操作可以看:

③Queue接口的操作可以看:
操作说明:
<1>https://www.cnblogs.com/lemon-flm/p/7877898.html

<2>https://www.cnblogs.com/haimishasha/p/10808906.html

实例应用:
<1>https://www.runoob.com/java/data-queue.html

<2>https://www.jianshu.com/p/7a86c56c632b
④Queue接口的priorityQueue实现类可以看:

⑤Set接口的LinkedHashset的底层理解和操作实例可以看:

⑥Map接口的LinkedHashmap的底层理解和操作实例可以看:
底层理解:
<1> https://blog.csdn.net/justloveyou_/article/details/71713781?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

<2> https://blog.csdn.net/xiaoyao2246/article/details/88836769?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&dist_request_id=1328641.8473.16155254985370039&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control

实例操作:
https://blog.csdn.net/dnc8371/article/details/106809671

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值