【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();
    }
}
相关推荐
Predestination王瀞潞1 小时前
IO操作(Num22)
开发语言·c++
haoly19892 小时前
数据结构和算法篇-线性查找优化-移至开头策略
数据结构·算法·移至开头策略
瓯雅爱分享2 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
宋恩淇要努力3 小时前
C++继承
开发语言·c++
沿着路走到底4 小时前
python 基础
开发语言·python
沐知全栈开发5 小时前
C# 委托(Delegate)
开发语言
mit6.8245 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
诸神缄默不语5 小时前
Maven用户设置文件(settings.xml)配置指南
xml·java·maven
任子菲阳5 小时前
学Java第三十四天-----抽象类和抽象方法
java·开发语言
学Linux的语莫5 小时前
机器学习数据处理
java·算法·机器学习