【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();
    }
}
相关推荐
蝈理塘(/_\)大怨种3 分钟前
快速排序的三路划分和自省排序
数据结构·算法
晚风烟火11 分钟前
从“落地实践”和“应试通关”两个维度,拆解每一章到底要掌握什么
java
qq_2965532724 分钟前
矩阵转置的两种实现方式:从暴力法到原地算法
数据结构·线性代数·算法·青少年编程·矩阵
.小小陈.28 分钟前
Linux 多线程进阶:线程互斥、同步、线程池、死锁与线程安全、读写锁、自旋锁
linux·开发语言·c++
ps酷教程35 分钟前
jackson学习
java·学习
lingran__36 分钟前
C++入门基础
开发语言·c++
shylyly_1 小时前
内存函数的使用和实现
数据结构·算法
行走的蜗牛1 小时前
一文搞懂 Spring AI 核心接口,轻松对接所有大模型
java
吃好睡好便好1 小时前
Matlab中三种三维图的对比
开发语言·人工智能·学习·算法·matlab·信息可视化
倒流时光三十年1 小时前
PostgreSQL 中的 NULL 陷阱:从一次排除过滤说起
java·数据库·postgresql