Java ArrayList可以容纳多少个对象

Java ArrayList可以容纳多少个对象

ArrayList是Java集合框架的一个类,实现了List接口。它是一种线性结构,按顺序存储和访问每个对象。它允许存储重复的值。请记住,集合框架的每个类都可以容纳包装类的实例或自定义对象。它们不能使用原始类型。本文旨在解释ArrayList如何在Java中容纳这些对象。

ArrayList如何容纳对象

ArrayList内部使用一个数组来存储其元素。然而,数组的大小是可变的,可以根据需要增加和减少。当创建一个ArrayList时,它有一个初始容量,即数组可以在不重新调整大小的情况下容纳的元素数。默认的初始容量是10,但我们可以在构造函数中指定。

当向ArrayList添加一个元素时,它会检查数组是否有足够的空间来存储新元素。如果有,它将新元素分配给数组中的下一个可用位置。如果没有,它会创建一个新的数组,其容量是当前大小的两倍,将所有现有元素从旧数组复制到新数组,然后将新元素追加到新创建的数组末尾。这个过程称为调整大小或重新散列。

当从ArrayList中删除一个元素时,它会将该位置后面的所有元素向左移动一个索引位置。这在数组末尾创建了一个空隙,这减少了ArrayList的有效大小,但容量保持不变,直到添加新元素需要调整大小为止。

使用ArrayList的优点是,由于它内部使用数组,它提供了对任何元素通过索引的快速和随机访问。缺点是添加和删除元素可能较慢,特别是涉及调整大小时,因为它需要创建一个新的数组并复制所有元素。

语法

ArrayList collection_name = new ArrayList<>();

方法

  • 第一步是导入‘java.util’包,以便使用ArrayList。

  • 然后,定义一个类型为‘Integer’的ArrayList,并使用‘add()’方法存储一些元素。

  • 在main()方法中,使用for-each循环迭代直到ArrayList的大小,打印屏幕上的对象。

示例1

让我们看看如何创建一个ArrayList来保存对象。

import java.util.*;
public class ArrayObj {
   public static void main(String[] args) {
      // Creating arraylist
      ArrayList<Integer> araylist = new ArrayList<>();
      // Adding elements in arraylist
      araylist.add(1);
      araylist.add(2);
      araylist.add(1);
      araylist.add(0);
      araylist.add(9);
      araylist.add(6);
      System.out.println("Elements of the list : ");
      // loop to iterate through elements
      for(int i = 0; i < araylist.size(); i++ ) {
         // to print the elements in the list
         System.out.println(araylist.get(i));
      }
   }
}

输出

Elements of the list :
1
2
1
0
9
6

方法

  • 创建一个类’Cart’,在其中声明两个变量,并定义一个带有字符串和整数两个参数的构造函数。

  • 进一步将对象的数据转换为字符串,使用’toString()’方法。

  • 现在,在’main()’方法中,声明一个名为’obj’的ArrayList集合,类型为’Cart’,并使用内置的’add()’方法将对象的详细信息存储到集合中。

  • 使用for-each循环迭代ArrayList的大小,打印其对象到屏幕上。

示例2

在下面的示例中,我们将创建一个ArrayList来保存自定义对象。

import java.util.*;
public class Cart {
   String item;
   int price;
   Cart(String item, int price) {
      // this keyword shows these variables belong to constructor
      this.item = item;
      this.price = price;
   }
   // method for converting object into string
   public String toString() {
      return "Item: " + item + ", " + "Price: " + price;
   }
   public static void main(String[] args) {
      // Declaring collection arraylist
      ArrayList<Cart> obj = new ArrayList<>();
      // Adding object to the collection
      obj.add(new Cart("Rice", 59));
      obj.add(new Cart("Milk", 60));
      obj.add(new Cart("Bread", 45));
      obj.add(new Cart("Peanut", 230));
      obj.add(new Cart("Butter", 55));
      // to print list of objects
      System.out.println("The Objects in the List: ");
      for(Cart print : obj) {
         System.out.println(print);
      }
   }
}

输出

The Objects in the List:
Item: Rice, Price: 59
Item: Milk, Price: 60
Item: Bread, Price: 45
Item: Peanut, Price: 230
Item: Butter, Price: 55

结论

我们从定义ArrayList开始介绍了这篇文章,之后在后面的部分中详细解释了它如何保存对象。此外,我们讨论了两个示例程序,以便更好地理解ArrayList中的对象存储。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程