向数组和 ArrayList 添加元素

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在 Java 中,数组(array)是具有固定大小的相似数据类型的集合,而 ArrayList 则是相似数据类型的动态集合。本实验将向你展示如何向数组和 ArrayList 中添加元素。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/DataStructuresGroup -.-> java/arrays("Arrays") java/DataStructuresGroup -.-> java/arrays_methods("Arrays Methods") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("ArrayList") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/arrays -.-> lab-117386{{"向数组和 ArrayList 添加元素"}} java/arrays_methods -.-> lab-117386{{"向数组和 ArrayList 添加元素"}} java/collections_methods -.-> lab-117386{{"向数组和 ArrayList 添加元素"}} java/classes_objects -.-> lab-117386{{"向数组和 ArrayList 添加元素"}} java/exceptions -.-> lab-117386{{"向数组和 ArrayList 添加元素"}} java/arraylist -.-> lab-117386{{"向数组和 ArrayList 添加元素"}} java/string_methods -.-> lab-117386{{"向数组和 ArrayList 添加元素"}} end

向数组中追加元素

要向数组中追加元素,你需要按照以下步骤操作:

  • 创建一个更大尺寸的数组
  • 使用循环将旧数组中的元素复制到新数组中
  • 将新元素添加到新数组的末尾

以下是向数组中追加元素的代码:

~/project/ArrayAppend.java

import java.util.Arrays;

public class ArrayAppend {
   public static int[] appendToArray(int[] oldArr, int elementToAdd) {
      int[] newArr = Arrays.copyOf(oldArr, oldArr.length + 1);
      newArr[newArr.length - 1] = elementToAdd;
      return newArr;
   }

   public static void main(String[] args) {
      int[] arr = {1, 2, 3, 4, 5};
      System.out.println("Initial Array: " + Arrays.toString(arr));
      arr = appendToArray(arr, 6);
      arr = appendToArray(arr, 7);
      arr = appendToArray(arr, 8);
      System.out.println("After adding elements: " + Arrays.toString(arr));
   }
}

要运行代码,请在项目文件夹中打开终端,然后使用以下命令编译并运行代码:

javac ArrayAppend.java
java ArrayAppend

运行代码后,你将得到以下输出:

Initial Array: [1, 2, 3, 4, 5]
After adding elements: [1, 2, 3, 4, 5, 6, 7, 8]

向 ArrayList 中追加元素

要向 ArrayList 中追加元素,你需要按照以下步骤操作:

  • 创建一个 ArrayList
  • 使用 add() 方法向 ArrayList 中添加元素

以下是向 ArrayList 中追加元素的代码:

~/project/ArrayListAppend.java

import java.util.ArrayList;

public class ArrayListAppend {
   public static void main(String[] args) {
      ArrayList<Integer> arrList = new ArrayList<Integer>();
      arrList.add(1);
      arrList.add(2);
      arrList.add(3);
      System.out.println("Initial ArrayList: " + arrList);
      arrList.add(4);
      arrList.add(5);
      System.out.print("After adding elements: " + arrList);
   }
}

要运行代码,请在项目文件夹中打开终端,然后使用以下命令编译并运行代码:

javac ArrayListAppend.java
java ArrayListAppend

运行代码后,你将得到以下输出:

Initial ArrayList: [1, 2, 3]
After adding elements: [1, 2, 3, 4, 5]

向数组中插入元素

要向数组中插入元素,你需要按照以下步骤操作:

  • 创建一个更大尺寸的数组
  • 将旧数组中的元素向右移动,直到新元素插入到指定位置
  • 如果索引超出范围,抛出 IndexOutOfBoundsException 异常

以下是向数组中插入元素的代码:

~/project/ArrayInsert.java

import java.util.Arrays;

public class ArrayInsert {
   public static int[] insertAtIndex(int[] arr, int elementToAdd, int index) {
      if (index > arr.length || index < 0) {
         throw new IndexOutOfBoundsException("Index is out of range!");
      } else {
         int[] newArr = new int[arr.length + 1];
         for (int i = 0, j = 0; i < arr.length; i++, j++) {
            if (i == index) {
               newArr[j++] = elementToAdd;
            }
            newArr[j] = arr[i];
         }
         return newArr;
      }
   }

   public static void main(String[] args) {
      int[] arr = {1, 2, 3, 4, 5};
      System.out.println("Initial Array: " + Arrays.toString(arr));
      arr = insertAtIndex(arr, 6, 2);
      System.out.println("After inserting at index 2: " + Arrays.toString(arr));
   }
}

要运行代码,请在项目文件夹中打开终端,然后使用以下命令编译并运行代码:

javac ArrayInsert.java
java ArrayInsert

运行代码后,你将得到以下输出:

Initial Array: [1, 2, 3, 4, 5]
After inserting at index 2: [1, 2, 6, 3, 4, 5]

向 ArrayList 中插入元素

要向 ArrayList 中插入元素,你需要按照以下步骤操作:

  • 创建一个 ArrayList
  • 使用 add() 方法向 ArrayList 中添加元素
  • 使用 add() 方法的重载版本将元素插入到 ArrayList 中

以下是向 ArrayList 中插入元素的代码:

~/project/ArrayListInsert.java

import java.util.ArrayList;

public class ArrayListInsert {
   public static void main(String[] args) {
      ArrayList<Integer> arrList = new ArrayList<Integer>();
      arrList.add(1);
      arrList.add(2);
      arrList.add(3);
      System.out.println("Initial ArrayList: " + arrList);
      arrList.add(1, 5);
      arrList.add(3, 6);
      System.out.print("After inserting elements: " + arrList);
   }
}

要运行代码,请在项目文件夹中打开终端,然后使用以下命令编译并运行代码:

javac ArrayListInsert.java
java ArrayListInsert

运行代码后,你将得到以下输出:

Initial ArrayList: [1, 2, 3]
After inserting elements: [1, 5, 2, 6, 3]

总结

本实验向你展示了如何在 Java 中向数组和 ArrayList 添加元素。我们学习了如何向数组和 ArrayList 追加和插入元素。虽然追加操作很简单,但在数组的情况下插入操作可能稍微复杂一些,而 ArrayList 提供了直接的插入方法。请始终确保操作在数组或 ArrayList 的范围内,否则会抛出 IndexOutOfBoundsException 异常。