Hello,大家好,我是Yize,话不多说,我们现在开始!

在上期我们学习了泛型,了解了泛型在Java中的一些作用以及用法,那这期我们就开始正式进入集合的学习啦!!!

目录

绪论

集合体系构成

Collection方法

三大遍历方法

迭代器遍历

增强for循环遍历

Lambda表达式

总结


绪论

说到集合,其实和数组十分类似,那集合和数组的区别是什么呢,我们来看:

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集合。

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

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐