Java集合入门:从零掌握三大遍历技巧
Hello,大家好,我是Yize,话不多说,我们现在开始!
在上期我们学习了泛型,了解了泛型在Java中的一些作用以及用法,那这期我们就开始正式进入集合的学习啦!!!
目录
绪论
说到集合,其实和数组十分类似,那集合和数组的区别是什么呢,我们来看:
1. 集合长度可变;
2. 集合添加数据默认添加至末尾;
3. 数组的数据类型可以是基本数据类型也可以是引用数据类型;
4. 集合的数据类型可以是引用数据类型和包装类。
好,说到这里我想大家对集合有了简单的认识,那集合该怎么创建呢?来看(以ArrayList举例):
一维集合创建:List <数据类型> 集合名 = new ArrayList<>();
二维集合创建:List<List<数据类型> > 集合名 = new ArrayList<>();
这样一套下来我们就对集合有了大概的了解了,那我们前面既然是以ArrayList举例,那是不是说还有其他的呢?答案是肯定的!下面我们就来学习一下!
集合体系构成
首先,我们来看一下集合的体系构成,是不是看的眼花缭乱,但是其实每一个都有联系的

Collection集合我们叫做单列集合,前面看到的ArrayList就是其中的一种,相同,Map集合我们称为双列集合,那什么叫单列集合,什么叫双列集合呢?其实就是里面储存的数据,单列集合中储存的就是单个的数据,而双列集合里储存的数据是成对的,他们是相互联系的,比如提到贾乃亮我们就会想到李小璐~~~好啦,现在我们先从Collection这个体系开始慢慢学习吧!!!
Collection方法
首先,我们从Collection中的一些方法开始学习,从上面体系我们可以看出,Collection中的方法List和Set都能使用,同样,下面的ArrayList一样可以使用

对于这些方法我们都不陌生吧,像add呀,remove呀,都是我们之前接触过的
说到集合呀,我们肯定会联想到数组,既然数组可以遍历,那集合是不是一样可以遍历呀,所以下面我们就来看一下常见的遍历方法
三大遍历方法
迭代器遍历
特点:遍历集合不依赖索引
//迭代器遍历
Iterator<String> it = List.iterator(); //获取Iterator对象
while(it.hasNext()){ //判断是否符合hasNext条件(当前位置是否有元素)
String str = it.next(); //获取当前位置的元素,将指针向后移动一个位置
System.out.println(str);
}
细节:
1. 如果当前位置没有元素,还要强行获取,会报NosuchElementException
2. 迭代器遍历完毕,指针不会复位
3. 循环中只能用一次next方法
4. 迭代器遍历时,不能用集合的方法进行增加或删除(因为它本身有删除的remove方法)
增强for循环遍历
特点:底层就是迭代器,所有单列集合和数组才能使用
//增强for循环
for(元素的数据类型 变量名:数组或集合){
表达式
}
例:
for(String s:list){
System.out.println(s);
}
与普通for循环类似,所以我们对其比较了解
Lambda表达式
在学习Lambda表达式遍历之前我们要先来学习一下Lambda表达式


省略规则:
1. 参数类型可以省略
2. 如果只有一个参数,参数类型可以省略,同时()也可以省略
3. 如果Lambda表达式的方法体只有一行,大括号、分号、return可以省略不写,需要同时省略

现在,我们对Lambda表达式做一个小结:

下面,我们继续学习!!
特点:在匿名内部类的基础上做的简化

从这张图的代码我们可以看到Lambda表达式的使用
总结
最后,我们来总结一下这期的学习吧,下期我们会接着体系往下,学习List集合。

这期的学习就此结束,我们下次见!!!
更多推荐




所有评论(0)