单列集合顶层接口collection,集合的遍历方法

集合分类

集合分为单列集合和双列集合

而我们之前学习的arraylist集合只是单列集合中的一种

顾名思义,单列集合每次只能添加一种元素,而双列集合每次能够添加两组元素

collection

collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的

它里面有许多的实现方法

1.public boolean add(E e):把给定的对象添加到当前集合中

ini 复制代码
Collection<String> o1=new ArrayList<>();
o1.add("zhang");

2.public boolean clear():清空当前所有的元素

ini 复制代码
Collection<String> o1=new ArrayList<>();
o1.add("zhang");
o1.clear();

返回[]

3.public boolean remove():把给定对象在当前集合中删除

csharp 复制代码
Collection<String> o1=new ArrayList<>();
o1.add("zhang");
o1.remove("zhang")

返回[]

4.public boolean isEmpty():判断当前集合是否为空,

底层是判断集合的长度是否为0.

5.public int size():返回集合中元素的个数/集合的长度

集合的遍历

1.迭代器遍历interator

markdown 复制代码
    迭代器在Java中的类是iterator,迭代器是集合专用的遍历方式
    

既然是类那么使用肯定要创建对象啦

ini 复制代码
Iterator<String> it=o1.iterator();

<>表示要集合里面元素类型,当然基本数据类型要使用包装类才能够使用

而迭代器对象默认指向当前集合的0索引(有点类似C语言的指针)

iterator中也有几个方法来帮助我们遍历数组

boolean hasNext():判断当前位置是否有无元素,有元素返回true,没有元素返回false

E next():获取当前位置的元素,并将迭代器对象移向下一个位置

ini 复制代码
while(it.hasNext()){
    String str = it.next();
    System.out.println(str);
}

遍历的代码就是这样的

遍历完毕后,要想再次遍历只能重新创建对象

当对一个空位置使用next就会报错

而如果在循环中使用两次next,如果集合元素是奇数就会出现上述报错

2.增强for遍历

这种遍历方式比较方便,底层就是迭代器,是为了简化迭代器的代码书写的

所有的单列结合和数组才能用增强for进行遍历

格式:

for(元素的数据类型 变量名:数组或者集合){

} 其中变量名表示 第三方变量,表示每次循环中集合中的元素

ini 复制代码
 Iterator<String> it=o1.iterator();
for (String s : o1) {
    System.out.println(s);
}

3.Lambda方式遍历

在集合的方法中有一种用于遍历的方法forEach(接口的实现类)

实现类可以用匿名内部类来写,而我们之前学了lambda的语法,可以大大简化代码

ini 复制代码
Iterator<String> it=o1.iterator();
o1.forEach((s)->{
    System.out.println(s);
});
相关推荐
儿时可乖了15 分钟前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
ruleslol16 分钟前
java基础概念37:正则表达式2-爬虫
java
xmh-sxh-131433 分钟前
jdk各个版本介绍
java
天天扭码1 小时前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
程序猿进阶1 小时前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
FIN技术铺1 小时前
Spring Boot框架Starter组件整理
java·spring boot·后端
小曲程序1 小时前
vue3 封装request请求
java·前端·typescript·vue
陈王卜1 小时前
django+boostrap实现发布博客权限控制
java·前端·django
小码的头发丝、1 小时前
Spring Boot 注解
java·spring boot
java亮小白19971 小时前
Spring循环依赖如何解决的?
java·后端·spring