Java中常见的List遍历5种方法

1.通过for循环配合List接口中的size()和get(index i)的方法

public static void main(String[] args) {  // TODO Auto-generated method stub   List list = new ArrayList();   list.add("hello");   list.add("world");   list.add("java");   list.add("world");  for (int i = 0; i < list.size(); i++) {		String s = (String) list.get(i);		System.out.println(s);	}}

 

运行截图👇🏻

图片

2.使用Iterator迭代器及其方法遍历集合

🍔迭代器

🍔是集合的获取元素的方式。

🍔是依赖于集合而存在的。

🍔相关方法:

Object next():获取元素,并移动到下一个位置。

boolean hasNext():如果仍有元素可以迭代,则返回 true。

void remove():从迭代器指向的Collection中移除迭代器返回的最后一个元素(可选操作)

🍔具体操作

a:通过集合对象获取迭代器对象

b:通过迭代器对象的hasNext()方法判断有没有元素

c:通过迭代器对象的next()方法获取元素并移动到下一个元素位置

代码如下👇🏻

 

public static void main(String[] args) { // TODO Auto-generated method stub	List list =new ArrayList();	list.add("hello");	list.add("world");	list.add("java");	list.add("world");   Iterator iterator=list.iterator();	while(iterator.hasNext()) {		String str=(String)iterator.next();		System.out.println(str);		}	}

 

运行截图👇🏻

图片

3.增强for循环遍历

🍔格式

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

使用该变量即可,该变量其实就是数组或者集合中的元素。

}

🍔好处

简化了数组和集合的遍历

🍔弊端

增强for循环的目标不能为null。建议在使用前,先判断是否为null。

代码如下👇🏻

public static void main(String[] args) {	// TODO Auto-generated method stub   List list =new ArrayList();   list.add("hello");   list.add("world");   list.add("java");   list.add("world"); for(Object o:list) {	String str=(String) o;	System.out.println(str);  }}

 

运行截图👇🏻

图片

4.forEach(Consumer action)遍历集合

根据Lambda的特性,该方法所需要的参数是一个函数式接口

🍔格式

list.forEach((Object o)->{System.out.println(“迭代集合元素:”+o);});

🍔Lmabda表达式的省略原则

(1)如果方法中只有一个参数,那么数据类型和小括号都可以省略

(2)如果方法中有多个参数,那么数据类型可以省略

(3)如果大括号中只有一行代码,那么大括号、return、分号都可以省略(三者必须一起省略)

代码如下👇🏻

public static void main(String[] args) {	// TODO Auto-generated method stub   List list =new ArrayList();   list.add("hello");   list.add("world");   list.add("java");   list.add("world");    //Lmabda表达式正常格式  list.forEach((Object a)->{	System.out.println(a);    });  System.out.println("----------");	//Lmabda表达式省略格式  list.forEach(o->System.out.println(o));}

 

运行截图👇🏻

图片

5.forEachRemaining(Consumer action)遍历集合

该方法同样需要一个函数式接口

🍔格式

iterator iterator=list.iterator();
iterator.forEachRemaining(obj->System.out.println(“迭代集合元素”+obj));

代码如下👇🏻

 

public static void main(String[] args) {	// TODO Auto-generated method stub   List list =new ArrayList();   list.add("hello");   list.add("world");   list.add("java");   list.add("world");    //将集合转换成Iterator迭代器对象  Iterator iterator=list.iterator();    //使用forEachRemaining(Consumer action)来遍历迭代器对象  iterator.forEachRemaining(o->System.out.println(o));

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/78912.html

(0)
guozi's avatarguozi
上一篇 2024年5月30日 下午2:19
下一篇 2024年5月30日 下午2:25

相关推荐

  • 丹阳做网站

    丹阳做网站,让您的网络世界更加轻松!随着互联网的发展,越来越多的企业和个人都开始意识到拥有一个属于自己的网站的重要性。而在建立网站的过程中,选择一款稳定可靠的云服务器则是至关重要的…

    行业资讯 2024年4月13日
    0
  • 怎么看服务器硬盘故障灯,有哪些技巧

    服务器硬盘故障是一种常见问题,会影响服务器的性能和稳定性。它可能导致关键应用程序的数据丢失甚至停机。检测服务器硬盘故障的方法是查看硬盘故障灯。在本文中,我们将讨论如何查看服务器硬盘…

    2024年5月31日
    0
  • Python 自动化脚本!

    /01/ 剪贴板管理器 你是否曾发现自己忙于处理多个文本片段,而忘记了自己复制了什么?有没有想过有一个工具可以记录你一天中复制的所有内容? 这个自动化脚本可以监控你复制的所有内容,…

    2024年6月4日
    0
  • dns被运营商劫持怎么办,dns域名被运营商屏蔽了

    近日,互联网行业出现了一起令人震惊的现象——“DNS域名被运营商屏蔽”。这个消息引起了广泛关注,很多人都想知道DNS域名到底是什么。为什么会被运营商封锁呢?封锁的后果是什么?有什么…

    行业资讯 2024年5月10日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注