java集合遍历_Java集合遍历

Java集合遍历教程

Java Iterator方式遍历

说明

Iterator 是专门的迭代输出接口,将集合里面的元素一个一个的遍历,然后判断,如果有内容就将其内容取出,一直到结尾。Iterator 是一个接口,常用方法有:

常用方法

方法名

描述

boolean hasNext();

判断是否有下个值

E next();

取出下个元素的内容

void remove()

删除当前元素

案例

package com.haicoder.net.collection;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class ArrayListTest{

public static void main(String[] args){

System.out.println("嗨客网(www.haicoder.net)");

//定义一个 ArrayList 对象

List strArrayList = new ArrayList();

//添加元素操作

strArrayList.add("嗨客网");

strArrayList.add("你好啊");

strArrayList.add(1, "愿你存活100年");

System.out.println("集合初始数据:" + strArrayList);

Iterator iterator = strArrayList.iterator();

while (iterator.hasNext()) {

String value = iterator.next();

if (value.equals("愿你存活100年")) {

System.out.println("移除元素");

iterator.remove();

} else {

System.out.println("元素的值为:" + value);

}

}

System.out.println("遍历集合并且移除数据后的结合数据:" + strArrayList);

}

}

运行结果如下:

ced904f4305808bb9bf8b6b2cf1c5aa1.png

我们使用了

我们在学习 list 的时候,知道 list 里面有 remove 方法,这个方法在正式的编程环境中,建议开发者慎用,使用 list 的 remove 方法,会将 list 对象的结构改变,它会让数组的长度减少,操作不当,很容易引起

迭代输出如下图:

bf3a0719d90d44f886b42fdb90447004.png

Java ListIterator方式遍历

说明

与 Iterator 不同的是 ListIterator 可以实现从后向前或者由前向后双向输出。但是双输出只能够 List 的类才能够使用。常用的方法有:

常用方法

方法名

描述

boolean hasNext();

判断是否有下个值

E next();

获取下一个元素

void remove();

移除当前元素

void add(E e);

在集合里面添加元素

boolean hasPrevious();

判断是否有上一个元素

E previous();

获取前一个元素

int nextIndex();

返回下一个元素的索引号

int previousIndex();

返回上一个元素的索引号

void set(E e);

替换元素

案例

package com.haicoder.net.collection;

import java.util.ArrayList;

import java.util.List;

import java.util.ListIterator;

public class ArrayListTest{

public static void main(String[] args){

System.out.println("嗨客网(www.haicoder.net)");

//定义一个 ArrayList 对象

List strArrayList = new ArrayList();

//添加元素操作

strArrayList.add("嗨客网");

strArrayList.add("你好啊");

strArrayList.add(1, "愿你存活100年");

ListIterator allIterators = strArrayList.listIterator();

allIterators.add("添加的元素");

System.out.println("集合最终数据:" + strArrayList); //添加元素

System.out.println("由前向后输出:");

while (allIterators.hasNext()) {

String tmpStr = allIterators.next();

System.out.println(tmpStr);

}

//因为前面执行了从前往后遍历,所以这边的索引会在最后一个元素上面,执行向前遍历的时候,能够由数据

System.out.println("由后向前输出:");

while (allIterators.hasPrevious()) {

String tmpStr = allIterators.previous();

System.out.println(tmpStr);

}

}

}

运行结果如下:

82bb644180eb5628a727c019ff61192f.png

首先我从前往后遍历,然后再从后往前遍历的时候,可以获取到数据,但一开始就从后往前遍历,那么肯定是没数据的。ListIterator 只适合用于 List 集合。

foreach方式遍历

说明

我们可以通过

for增强语法

for(类 对象 : 集合){}

描述

关键字

描述

for

循环遍历的开始

和集合里面的类一样,或者是集合里面的类的父类

对象

前面的类声明的一个对象

集合

我们需要遍历对集合

案例

package com.haicoder.net.collection;

import java.util.ArrayList;

import java.util.List;

public class ArrayListTest{

public static void main(String[] args){

System.out.println("嗨客网(www.haicoder.net)");

//定义一个 ArrayList 对象

List strArrayList = new ArrayList();

//添加元素操作

strArrayList.add("嗨客网");

strArrayList.add("你好啊");

strArrayList.add(1, "愿你存活100年");

System.out.println("集合初始数据:" + strArrayList);

//普通遍历

for (int i = 0; i < strArrayList.size(); i++) {

System.out.println("位置 " + i + " 元素内容:" + strArrayList.get(i));

}

//for 增强遍历

for (String tmpStr : strArrayList) {

System.out.println("for 增强遍历:" + tmpStr);

}

}

}

运行结果如下

b87a6b276a9eeebbd5c9bfcc0a838483.png

我们使用了 for 的普通遍历输出和 for 增强输出,发现效果是一样的。for 增强简化了代码,方便的操作。

Java集合遍历总结

集合遍历有 Iterator 遍历,ListIterator 遍历和 for 遍历以及 for 增强遍历。主要的推崇的还是使用 Iterator 遍历,这样的话,对集合进行删除,添加等操作不会出现问题,但是使用 for 或者 for 增强遍历,进行增删操作等时候,会引起一些问题。这边读者在使用的时候需要注意。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值