【Java数据结构】ArrayList和LinkedList的遍历

一:ArrayList的遍历

复制代码
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


/**
 * ArrayList的遍历
 */
public class Test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(5);
        list.add(6);
        list.add(7);
        list.add(8);
        list.add(9);

        //1.直接输出
        System.out.print(list);
        System.out.println();

        //2.for循环
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i) + " ");
        }
        System.out.println();

        //3.foreach遍历
        for (int x : list) {
            System.out.print(x + " ");
        }
        System.out.println();

        //4.使用迭代器遍历
        Iterator<Integer> it1 = list.listIterator();
        while (it1.hasNext()) {
            System.out.print(it1.next() + " ");
        }
        System.out.println();
    }
}

二:LinkedList的遍历

复制代码
import java.util.LinkedList;
import java.util.ListIterator;

public class Test {
    public static void main(String[] args) {
        LinkedList<Integer> list=new LinkedList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);

        //1.直接输出:因为重写了toString()
        System.out.print(list);
        System.out.println();

        //2.foreach遍历
        for (int x:list) {
            System.out.print(x+" ");
        }
        System.out.println();

        //3.使用迭代器遍历------正向遍历
        ListIterator<Integer> it1= list.listIterator();
        while(it1.hasNext()){
            System.out.print(it1.next()+" ");
        }
        System.out.println();

        //4.使用反向迭代器遍历------反向遍历
        ListIterator<Integer> it2= list.listIterator(list.size());
        while(it1.hasPrevious()){
            System.out.print(it1.previous()+" ");
        }
        System.out.println();
    }
}
相关推荐
echo1754253 分钟前
Apipost免费版、企业版和私有化部署详解
java
夜夜敲码8 分钟前
C语言教程(十六): C 语言字符串详解
c语言·开发语言
宋康15 分钟前
C语言结构体和union内存对齐
c语言·开发语言
异常君20 分钟前
Java 高并发编程:等值判断的隐患与如何精确控制线程状态
java·后端·代码规范
异常君21 分钟前
Java 日期处理:SimpleDateFormat 线程安全问题及解决方案
java·后端·代码规范
都叫我大帅哥23 分钟前
Spring AI中的ChatClient:从入门到精通,一篇搞定!
java·spring·ai编程
都叫我大帅哥23 分钟前
《@SpringBootApplication:Spring Boot的"一键启动"按钮,还是程序员的"免死金牌"?》
java·后端·spring
居然是阿宋25 分钟前
Kotlin高阶函数 vs Lambda表达式:关键区别与协作关系
android·开发语言·kotlin
triticale28 分钟前
P12167 [蓝桥杯 2025 省 C/Python A] 倒水
java·蓝桥杯
-曾牛44 分钟前
Spring AI 快速入门:从环境搭建到核心组件集成
java·人工智能·spring·ai·大模型·spring ai·开发环境搭建