遍历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%。

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • jquery 默认隐藏div,点击按钮显示,再次点击隐藏

    jquery 默认隐藏div,点击按钮显示,再次点击隐藏

  • 大数据告诉你中老年人上网爱干什么[通俗易懂]

    大数据告诉你中老年人上网爱干什么[通俗易懂]中老年人最爱用微信,最喜欢看心灵鸡汤,最易被“免费领红包”骗……昨天,中国社科院国情调查与大数据研究中心和腾讯社会研究中心联合发布《中老年互联网生活研究报告》,报告对50岁以上人群的互联网生活进行了多方面解读。数据显示,中老年人不仅将微信作为即时通讯工具,还将其视作表达情感和维系社交的互动平台,如在微信里发表情和图片(81.8%)或小视频(68.9%),在朋友圈与他人互动(81.6%),接收或发微…

  • 基于STM32F4单片机对步进电机的控制(有代码)

    基于STM32F4单片机对步进电机的控制(有代码)步进电机是将电脉冲控制信号转变为角位移或线位移的一种常用的数字控制执行元件,又称为脉冲电机。在驱动电源的作用下,步进电机受到脉冲的控制,其转子的角位移量和速度严格地与输入脉冲的数量和脉冲频率成正比。步进电机每接收一个电脉冲,转子就转过一个相应的角度(步距角)。改变通电顺序可改变步进电动机的旋转方向;改变通电频率可改变步进电动机的转速。因此,通过控制输入电脉冲的数目、频率及电动机绕组的通电顺序就可以…

  • Java 验证码识别(Tess4J初体验)「建议收藏」

    Java 验证码识别(Tess4J初体验)「建议收藏」Tess4J官方描述:AJavaJNAwrapperforTesseractOCRAPI.demo下载1.先去官网下载:http://tess4j.sourceforge.net/2.将下载的文件解压后把下面几个文件夹(图片中选中的)复制到新建的项目中3.将lib下的jar包加到buildpath中。注意:lib里面除了jar包还有别的。4.根据官网的样例在刚建的项目中使用一下:…

  • java分割字符串的方法_java字符串按照特定字符分割

    java分割字符串的方法_java字符串按照特定字符分割最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似Stringstr=”aaa,bbb,ccc”;然后以”,”为分割符,将其分割成一个数组,用什么方法去实现呢?第一种方法:可能一下子就会想到使用split()方法,用split()方法实现是最方便的,但是它的效率比较低第二种方法:使用效率较高的StringTokenizer类分割字符串,StringTokenizer类是

  • ip route add添加路由_怎么设置route add

    ip route add添加路由_怎么设置route add       

发表回复

您的电子邮箱地址不会被公开。

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