Java 动态数组 ArrayList

动态数组 ArrayList 是一种数据结构,可以进行拉伸以容纳其自身内的其他元素,并在删除元素时缩小到较小的大小。它是一个非常重要的数据结构,可用于处理元素的动态行为。

从技术上讲,Java ArrayList 就像一个动态数组或一个可变长度数组。

让我们看一下并理解以下代码片段,它将帮助你解决 ArrayList。

ArrayList<Object> a = new ArrayList<Object>();

ArrayList 方法

  • ArrayList add:用于向 ArrayList 添加元素。如果 ArrayList 已包含元素,则除非指定了索引,否则将在最后一个元素之后添加新元素。

    语法:    

add(Object o); 
  • ArrayList remove:从列表中删除指定的元素,并相应减小大小。或者,你也可以指定要删除的元素的索引。

    语法:    

remove(Object o);
  • Java 数组 size:这将为你提供数组列表中的元素数量。就像数组一样,第一个元素也从索引 0 开始。

    语法:    

int size();
  • ArrayList contains:如果列表包含指定的元素,则此方法将返回 true。

    语法:    

boolean contains(Object o);

Java ArrayList 示例

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList arlTest = new ArrayList();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");
  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());
  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);
  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);
  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);
  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);
  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));
 }
}

输出:

Size of ArrayList at creation: 0
Size of ArrayList after adding elements: 4
List of all elements: [D, U, K, E]
See contents after removing one element: [U, K, E]
See contents after removing element by index: [U, K]
Size of arrayList after removing elements: 2
List of all elements after removing elements: [U, K]
true

注意:为简单起见,上面代码中显示的元素是单个字符元素。我们也可以添加字符串,整数等。