【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();
    }
}
相关推荐
Escalating_xu4 分钟前
【Linux】线程概念与控制:从地址空间、LWP 到 pthread_create、join、detach 与 NPTL
java·linux·redis
Lam Tang4 分钟前
APS 系列文章 09
java·代理模式
evans在进步25 分钟前
LeetCode 198:打家劫舍——Java 动态规划详解
java·leetcode·动态规划
ZJU_统一阿萨姆26 分钟前
【推理优化进阶】性能实验科学:工作负载、统计显著性与尾延迟归因
开发语言·人工智能·语言模型·系统架构·vllm
Hhy_110739 分钟前
《C++深度解构02》类和对象(上)——定义规范、内存对齐与 this 指针全解
c语言·开发语言·c++·学习·visual studio
2601_9638702242 分钟前
【计算机毕业设计】基于Spring Boot的考研信息交流平台的设计与实现
java·spring boot·后端
晚风叙码1 小时前
C++哈希表实现:开放定址法和链地址法 (哈希桶)
数据结构·c++·哈希算法·散列表
imaol11 小时前
哈希表--数据结构
数据结构·散列表
电子云与长程纠缠1 小时前
UE5 Lyra PocketWorld进行3D内容UI预览 - 下
开发语言·学习·游戏·ui·ue5
大模型丫丫1 小时前
Spring Boot 入门指南:从零开始构建你的第一个应用
java·spring boot·后端