1.为什么需要集合
Java是面向对象的编程语言,所以处理对象是它必须要完成的将,多个对象储存起来,有利于对多个对象进行操作,在储存多个变量的同时,很容易想到容器,常见的容器有StringBuffered,数组。所以Java提供的集合就派上了用场。
2.数组和集合的区别
数组:长度固定,可以储存基本数据类型,也可以储存引用类型。
集合:长度可变,集合只能储存引用类型。
3.集合的由来和功能
由来:集合可以储存多个元素,但是我们对多个元素有不相同的需求,它不能相同且可以按照某个规则排序。所以因为需求的不同,Java就提供了许多的集合类,每个集合类的数据结构都不相同,但是最重要的是能够存储东西,可以判断,或许,这才是关键。将集合共性的内容不断往上提取,最终形成集合的继承体系。
可以看到Collection的源代码中继承了Iterable,有iterator()这个方法
点击进入后,可以明显到的看到Iterable是一个接口:
它有iterator()这个方法,返回的是Iterator
它基本有三个方法:hasNext()、next()、remove()
但是,对应的实现方法仍然没有找到,只能往Collection的子类下继续寻找了,然后就在ArrayList下找到了如何让iterator实现的办法,实在ArrayList以内部类的方式实现。并且我们通过源代码可以得到:Iterator实际上就是在遍历集合。
所以综上所铸,遍历集合的元素都可以使用terator,它的实现是以内部类的方式实现。
从前文说过,Collection主要学习的集合类型分别是:Set和List,这里主要讲解List。
这里简单说一下List接口的方法,比Collection多一些。
List特点:有序,可以重复
Collection返回的是Iterator迭代器的接口,而List中Listlterator接口可以对应实现。Listlterator可以往前遍历,添加元素,设置元素。
List集合常用子类
1.ArrayList 数组是底层的数据结构,线程较为不安全
2.LinkedList 底层数据结构是链表,线程较为不安全
3.Vector 数组为底层数据结构,线程安全
方法相比于Collection少一些,Set的特点为元素不可重复。
Set集合常用子集
HashSet集合,底层数据的结构是一个元素为链表的数组
TreeSet集合,底层数据是一个自然平衡的二叉树;保证元素排列方式
LinkedHashSet集合,底层数据结构由以上两者组成
暴雨如注,肆意地砸落在林家公馆的雕花铁门上,发出沉闷而急促的声响。狂风呼啸着,吹得庭院里的树木东倒西歪,枝叶在黑暗中狂乱地舞动,仿佛一群张牙舞爪的怪物。林家公馆内,灯光昏黄
2025-09-16 15:23:44序章:熟悉的陌生人机场的广播用一种近乎冷漠的流畅,播报着航班信息。人流如织,汇聚又散开,每个人都奔向自己的目的地,或是离开某个不想停留的过去。许心安拖着小小的登机箱,站在国
2025-09-16 14:27:334本该在医院躺着的许母。此刻正被人吊在半空中。她身下,便是蔚蓝无际的汪洋大海。“谢星临,你到底发什么疯!到底想做什么!你不知道她有心脏病,需要二十四小时吸氧吗!”她赤红的眼
2025-09-16 11:41:041地狱开局楔子:地狱开局冰冷的雨水拍打在落地窗上,模糊了窗外的都市霓虹。心源大酒店顶层宴会厅,这里正在举行一场本该是全城瞩目的婚礼——新郎是炙手可热的青年才俊陆霆深,新
2025-09-16 10:17:05旋即,我又听闻苍岚开口:“天地之大,无以为家,逍遥一生,何不快活?”苍岚以前讨厌我,如今又处处帮我,或许也是见不得有凡人骑在神尊头上,即便那人被剐了仙骨,打落凡尘。我心中了然。这
2025-09-16 01:06:18