在 Java 中的 Arraylist 中新增物件

Rupam Yadav 2023年10月12日
  1. 在 ArrayList 中新增相同型別的物件
  2. 在 ArrayList 中新增不同型別的物件
在 Java 中的 Arraylist 中新增物件

在 Java 中,ArrayList 是一個可調整大小的陣列,也可以定義為元素的有序序列。與簡單陣列不同,Java ArrayList 更加靈活,可以容納多種資料型別。本文將演示如何使用此功能。

在 ArrayList 中新增相同型別的物件

在這裡,我們將使用者定義的或自定義的類物件新增到 ArrayList。在 ArrayList 中,我們可以使用整數索引訪問元素。我們將指定或宣告我們將儲存在 <>(尖括號)內的 ArrayList 中的物件型別。

在下面的程式碼中,我們有一個帶有建構函式的 Book 類物件和三個資料型別分別為 bookNameauthorrating 的例項變數。我們使用 new 關鍵字和帶有引數的建構函式呼叫建立了一個 Book 類物件;這將傳遞的值分配給例項變數。

add() 方法將物件插入到 arrayofBooks。因此,我們向我們的 arrayOfBooks 新增了 4 個 Book 類物件。然後我們執行 foreach 迴圈來迭代並顯示所有 Book 資料。

我們可以使用 . 訪問 Book 類的屬性點運算子。下面我們通過呼叫 book.bookName 函式訪問了 bookName 屬性。

import java.util.ArrayList;
public class ArrayObject {
  public static void main(String args[]) {
    ArrayList<Book> arrayOfBooks = new ArrayList<>();
    arrayOfBooks.add(new Book("To Kill a Mockingbird", "Harper Lee", 3));
    arrayOfBooks.add(new Book("1984", "George Orwell", 4));
    arrayOfBooks.add(new Book("Harry Potter and the Philosopher's Stone", "J.K. Rowling", 4));
    arrayOfBooks.add(new Book("The Lord of the Rings", "J.R.R. Tolkien", 4.5));

    for (Book book : arrayOfBooks) {
      System.out.println(
          "BookTitle: " + book.bookName + ", by" + book.author + "with a rating of " + book.rating);
    }
  }
}
class Book {
  String bookName;
  String author;
  double rating;
  Book(String bookName, String author, double rating) {
    this.bookName = bookName;
    this.author = author;
    this.rating = rating;
  }
}

輸出:

BookTitle: To Kill a Mockingbird, byHarper Leewith a rating of 3.0
BookTitle: 1984, byGeorge Orwellwith a rating of 4.0
BookTitle: Harry Potter and the Philosopher's Stone, byJ.K. Rowlingwith a rating of 4.0
BookTitle: The Lord of the Rings, byJ.R.R. Tolkienwith a rating of 4.5

在 ArrayList 中新增不同型別的物件

如前所述,函式 ArrayList 也可以儲存多種型別的物件。這裡,arrayOfDifferentObject 是一個 ArrayList,可以容納不同型別的物件。我們使用 <Object> 類在下面程式碼中給出的語法中宣告瞭我們的 ArrayList

在 Java 中,ArrayList 可以儲存包裝類的物件,如 double、integer 和 string。

然後我們使用 add() 方法將元素新增到 ArrayList。首先,我們向 ArrayList 新增一個字串值,然後分別新增一個雙精度值、整數和浮點數。我們還可以使用 set() 方法在我們選擇的索引處用新值替換元素。

我們用字串值替換了 arrayOfDifferentObject.set(1,"David Wells") 和索引 1 處的雙精度值。之後,我們可以看到輸出被修改了。

import java.util.ArrayList;
public class ArrayObject {
  public static void main(String args[]) {
    ArrayList<Object> arrayOfDifferentObject = new ArrayList<Object>();

    arrayOfDifferentObject.add("John Doe");
    arrayOfDifferentObject.add(10.00D);
    arrayOfDifferentObject.add(10);
    arrayOfDifferentObject.add(10.11F);

    System.out.println("ArrayList after all insertion:-");
    for (int i = 0; i < arrayOfDifferentObject.size(); i++) {
      System.out.println(arrayOfDifferentObject.get(i));
    }

    arrayOfDifferentObject.set(1, "David Wells");
    System.out.println("ArrayList after modification:-");

    for (int i = 0; i < arrayOfDifferentObject.size(); i++) {
      System.out.println(arrayOfDifferentObject.get(i));
    }
  }
}

輸出:

ArrayList after all insertion:-
John Doe
10.0
10
10.11
ArrayList after modification:-
John Doe
David Wells
10
10.11
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn