首页 > 编程语言 >【Java集合框架之ArrayList】

【Java集合框架之ArrayList】

时间:2024-10-15 15:52:47浏览次数:7  
标签:遍历 Java ArrayList 元素 list 数组 集合 arraylist

一、 ArrayList 简介

ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。

ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下:

import java.util.ArrayList; // 引入 ArrayList 类

ArrayList<E> objectName =new ArrayList<>();  // 初始化
  • E: 泛型数据类型,用于设置 objectName 的数据类型,只能为引用数据类型
  • objectName: 对象名。

二、 ArrayList 方法

方法描述
add()将元素插入到 arraylist 中
add(int index, E element)将元素插入到指定位置的 arraylist 中
addAll()添加集合中的所有元素到 arraylist 中
remove()移除 arraylist 中指定位置上的元素
removeRange()删除 arraylist 中指定索引之间存在的元素
removeIf()删除所有满足特定条件的 arraylist 元素
removeAll()删除存在于指定集合中的 arraylist 里的所有元素
clear()删除 arraylist 中的所有元素
set()替换 arraylist 中指定索引的元素
clone()复制
contains()判断元素是否包含在 arraylist 中
containsAll()查看 arraylist 是否包含指定集合中的所有元素
retainAll()保留 arraylist 中在指定集合中也存在的那些元素
indexOf()返回某元素在 arraylist 中的索引值
lastIndexOf()返回指定元素在 arraylist 中最后一次出现的位置
size()返回 arraylist 里元素数量
isEmpty()判断 arraylist 是否为空
subList()截取部分 arraylist 的元素
sort()对 arraylist 元素进行排序
toArray()将 arraylist 转换为数组
toString()将 arraylist 转换为字符串
ensureCapacity()设置指定容量大小的 arraylist
trimToSize()将 arraylist 中的容量调整为数组中的元素个数
trimToSize()将 arraylist 中的容量调整为数组中的元素个数
forEach()遍历 arraylist 中每一个元素并执行特定操作

三、 AraayList 的遍历

主要介绍以下四个遍历方法:

  • for循环遍历数组中的元素
  • for each循环遍历数组中的元素
  • toArray方法把链表变为数组相关的内容进行遍历
  • Iterator迭代器循环遍历数组中的元素
import java.util.*;
 
public class Test{
 public static void main(String[] args) {
     List<String> list=new ArrayList<String>();
     list.add("a");
     list.add("b");
     list.add("c");
     //第一种遍历方法使用for循环遍历
    for (int i = 0; i < list.size(); i++) {
        System.out.print(list.get(i) + " ");
    }

     //第二种遍历方法使用 For-Each 遍历 List
     for (String str : list) {            //也可以改写 for(int i=0;i<list.size();i++) 这种形式
        System.out.println(str);
     }
 
     //第三种遍历,把链表变为数组相关的内容进行遍历
     String[] strArray=new String[list.size()];
     list.toArray(strArray);
     for(int i=0;i<strArray.length;i++) //这里也可以改写为  for(String str:strArray) 这种形式
     {
        System.out.println(strArray[i]);
     }
     
    //第四种遍历 使用迭代器进行相关遍历
     
     Iterator<String> ite=list.iterator();
     while(ite.hasNext())//判断下一个元素之后有值
     {
         System.out.println(ite.next());
     }
 }
}

标签:遍历,Java,ArrayList,元素,list,数组,集合,arraylist
From: https://blog.csdn.net/qq_58193440/article/details/142956485

相关文章

  • java爬虫多线程代理:为数据采集提供强力支持
    Java爬虫中的多线程与代理应用在当今这个信息爆炸的时代,数据的获取与处理变得尤为重要。Java作为一种强大的编程语言,广泛应用于爬虫开发中。而在爬虫的实践中,多线程和代理的结合,可以让我们的爬虫如同一支训练有素的队伍,快速、高效地获取所需数据。接下来,我们将深入探讨Java爬......
  • Java代码优化中的六大原则
    目录一.单一职责原则(SingleResponsibilityPrinciple,SRP)1.定义2.核心思想3.好处4.实践案例案例:日志记录与业务逻辑分离5.总结二.DRY原则(Don'tRepeatYourself)1.定义2.核心思想3.好处4.实践案例案例1:提取公共方法案例2:使用模板方法模式5.总......
  • Java 列表元素自定义排序
    在Java开发过程中,有时会遇到需要对列表中元素进行自定义的排序。这样的排序往往不能由元素本身的特性(比如字符串长度、首字母顺序)判断,需要自己指定顺序。比如对汉字的数字进行排序,他们的字符串长度都为1,首字母顺序也不能得到预期的结果,因此需要自定义排序。以下是示例代码:p......
  • Java变量类型
    在Java中,变量根据声明位置、数据类型、是否有初始值等属性,可以分为多种类型。具体来说,Java中的变量类型可以分为以下几类:1.按数据类型分类1.1.基本数据类型(PrimitiveTypes)Java提供了8种基本数据类型,用于存储简单的数据。它们包括:整数类型:byte:8位,取值范围-128......
  • Java字段初始化规律
    publicclassmm{publicstaticvoidmain(String[]args){InitializeBlockClassobj=newInitializeBlockClass();System.out.println(obj.field);obj=newInitializeBlockClass(300);System.out.println(obj.field);}}classInitializeBlockClas......
  • 大学生HTML期末大作业——HTML+CSS+JavaScript购物商城
    HTML+CSS+JS【购物商场】网页设计期末课程大作业web前端开发技术web课程设计网页规划与设计......
  • 2024年最新版Java面试八股文!
    1、并发编程三要素?(1)原子性原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。(2)可见性可见性指多个线程操作一个共享变量时,其中一个线程对变量进行修改后,其他线程可以立即看到修改的结果。(3)有序性有序性,即程序的执行......
  • java+vue计算机毕设高校消防设施管理系统【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于高校消防设施管理的研究,现有研究多侧重于消防安全管理的一般性原则和措施,主要以整体建筑或公共场所消防管理为主。专门针对高校这一特殊环境......
  • java+vue计算机毕设高校校园一卡通管理系统【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于高校校园一卡通管理系统的研究,现有研究多侧重于其技术实现和功能拓展方面,如硬件设施的升级或特定功能模块(如消费功能)的优化等11。专门针对整......
  • java+vue计算机毕设高校教材征订管理系统【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于高校教材征订管理系统的研究,现有研究多侧重于教学管理系统整体框架的构建,对于教材征订这一特定环节的专门研究较少。在国内外高校管理领域,虽......