遍历Arraylist的三种方法及优缺点简单介绍

遍历Arraylist的三种方法及优缺点简单介绍集合ArrayList是接口List的一种子类,它的特点是:存储的元素是有序的.底层的数据结构是数组.查询快,增删慢.在众多集合中ArrayList的遍历又是比较特殊的,下面就写一下它的三种遍历方式,代码如下:第一种遍历方式:普通for循环第二种遍历方式:增强for循环第三种遍历方式:迭代器importjava.util.ArrayList;importjava.util.Iterator;/***PACKAGE_NAME*/publicclassDemo.

大家好,又见面了,我是你们的朋友全栈君。

集合ArrayList是接口List的一种子类,它的特点是:存储的元素是有序的.底层的数据结构是数组.查询快,增删慢.在众多集合中ArrayList的遍历又是比较特殊的,下面就写一下它的三种遍历方式,代码如下:

第一种遍历方式:普通for循环

第二种遍历方式:增强for循环

第三种遍历方式:迭代器

 
import java.util.ArrayList;
import java.util.Iterator;

/**
 * PACKAGE_NAME
 */
public class Demo01 {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("张三");
        arrayList.add("李四");
        arrayList.add("王五");
        arrayList.add("赵六");

        // 第一种遍历方式:普通for循环
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.println(arrayList.get(i));
        }

        // 第二种遍历方式:增强for循环
        for (String string : arrayList) {
            System.out.println(string);
        }

        // 第三种遍历方式:迭代器
        Iterator<String> iterator = arrayList.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}

优缺点:

因为ArrayList底层使用数组实现,所以优缺点与数组类似。

优点:

1、根据下标遍历元素效率较高。

2、根据下标访问元素效率较高。

3、在数组的基础上封装了对元素操作的方法。

4、可以自动扩容。

缺点:

1、插入和删除的效率比较低。

2、根据内容查找元素的效率较低。

 

注:扩容规则:每次扩容现有容量的50%。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163130.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月22日 下午1:00
下一篇 2022年7月22日 下午1:00


相关推荐

  • kimi开源视觉语言模型 Kimi-VL 多项基准超越 GPT-4o

    kimi开源视觉语言模型 Kimi-VL 多项基准超越 GPT-4o

    2026年3月12日
    2
  • 剑指Offer面试题:6.旋转数组中的最小数字建议收藏

    一题目:旋转数组中的最小数字这道题最直观的解法并不难,从头到尾遍历数组一次,我们就能找出最小的元素。这种思路的时间复杂度显然是O(n)。但是这个思路没有利用输入的旋转数组的特性,肯定达不到面试官的

    2021年12月19日
    37
  • 从零开始学习UCOSII操作系统1–UCOSII的基础知识

    从零开始学习UCOSII操作系统1–UCOSII的基础知识从零开始学习UCOSII操作系统1–UCOSII的基础知识前言:首先比较主流的操作系统有UCOSII、FREERTOS、LINUX等,UCOSII的资料相对比其余的两个操作系统的资料是多很多的。更重要的原因是自己本身还没有能力深入的研究Linux操作系统。本次学习UCOSII主要是学习内核的设计原理。此次专栏涉及到的API的使用是非常小的,仅仅作为本人学习的记录。后期也会对比UCOSIII说出实…

    2022年5月4日
    214
  • Java实现的SFTP(文件上传详解篇)

    Java实现的SFTP(文件上传详解篇)JSch 是 JavaSecureCh 的缩写 JSch 是一个 SSH2 的纯 Java 实现 它允许你连接到一个 SSH 服务器 并且可以使用端口转发 X11 转发 文件传输等 当然你也可以集成它的功能到你自己的应用程序 nbsp nbsp 本文只介绍如何使用 JSch 实现的 SFTP 功能 nbsp nbsp SFTP 是 SecureFileTr 的缩写 安全文件传送协议 可以为传输文件提供

    2026年3月26日
    2
  • QT布局:QVBoxLayout/QHBoxLayout[通俗易懂]

    QT布局:QVBoxLayout/QHBoxLayout[通俗易懂]关系图垂直布局:QVBoxLayout 先来一两代码:QWidget*widget=newQWidget();QVBoxLayout*vBoxLayout=newQVBoxLayout();QLabel*label=newQLabel(“hello”);QPushButton*pushButton=newQPushButton(“hi”);vBoxLayout->addWidget(label);vBoxLayout->addWid…

    2022年6月21日
    40
  • mybatiscodehelperpro在线激活码(JetBrains全家桶)

    (mybatiscodehelperpro在线激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlFZP9ED60OK-eyJsaWNlbnNlSWQi…

    2022年4月1日
    375

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号