遍历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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 鸿蒙HarmonyOS应用开发初体验[通俗易懂]

    鸿蒙HarmonyOS应用开发初体验[通俗易懂]https://developer.huawei.com/consumer/cn/forum/communityHome近期(4.12~4.25)鸿蒙OS正在举行开发者日活动,趁机参加并了解一下鸿蒙OS的现状和应用开发体验。1.开发环境搭建下载安装IDE(当前版本2.1Beta3)华为为Harmony应用开发提供了配套的IDE:DevEcoStudio(内心比较排斥这种带Eco字眼儿的命名,PPT怎么吹无所谓,开发工具咱能不能务实一点儿?)下载IDE需要登录Huawei账号,我安装.

    2022年5月18日
    50
  • springsession使用_常见的使用null场景

    springsession使用_常见的使用null场景目录一、同域名下相同项目(集群环境)实现Session共享1.思路2.架构图3.实现步骤一、同域名下相同项目(集群环境)实现Session共享在同一个域名下,比如:www.p2p.com同一个项目,部署了多台tomcat,这就是典型的集群。我们上一篇文章的入门案例就属于这种应用场景,只不过在实际开发的过程中,我们如果存在了tomcat集群,那么肯定会使用nginx进行负载均衡,那么这种情况下我们该如何处理。1.思路我们将上一个阶段的p2p项目实现集群部署下的Ses

    2025年6月6日
    0
  • 朴素贝叶斯三种模型_朴素贝叶斯多分类

    朴素贝叶斯三种模型_朴素贝叶斯多分类目录前言一、简述贝叶斯定理二、贝叶斯定理的推导三、贝叶斯定理的例子说明四、朴素贝叶斯分类器总结前言什么是分类算法通俗地讲分类算法就是把大量已知特征及类别的样本对象输入计算机,让计算机根据这些已知的类别与特征归纳出类别与特征之间的规律(准确地说应该是分类模型),最终目的是运用得到的分类模型对新输入的对象(该对象已知特征,类别是不知道的)判断出该对象所属…

    2022年9月26日
    0
  • jsonobject转string数组_json字符串转jsonobject对象

    jsonobject转string数组_json字符串转jsonobject对象首先在maven中添加阿里的fastjson依赖<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.68</version></dependency…

    2022年8月23日
    3
  • android 6.0锁屏界面时间位置修改[通俗易懂]

    android 6.0锁屏界面时间位置修改[通俗易懂]在SystemUI里的Android.mk中LOCAL_STATIC_JAVA_LIBRARIES:=KeyguardLOCAL_STATIC_JAVA_LIBRARIES+=com.mediatek.systemui.extLOCAL_JAVA_LIBRARIES:=telephony-commonLOCAL_JAVA_LIBRARIES+=mediatek-

    2022年9月29日
    0
  • PyQt5 打包 没有icon图标

    PyQt5 打包 没有icon图标

    2021年11月22日
    43

发表回复

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

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