在 Java 中獲取整形陣列的 ArrayList
-
建立整數型別的
ArrayList
-
將整數元素新增到
ArrayList
中的索引 -
通過索引訪問
ArrayList
中的元素 - 整數陣列的 ArrayList
-
從
ArrayList
訪問整數陣列元素 - ArrayList 的 ArrayList
- 總結
本教程介紹瞭如何在 Java 中獲取整數的 ArrayList
,並列出了一些示例程式碼來理解該主題。
ArrayList
是一個動態或可調整大小的陣列。它是 Java 集合框架的一部分。ArrayList
用於克服普通陣列大小固定的問題。在本教程中,我們將學習如何建立整數 ArrayList
。
建立整數型別的 ArrayList
ArrayList
或任何其他集合不能儲存原始資料型別,例如 int。如果我們編寫如下所示的程式碼,那麼我們將得到一個編譯錯誤。
public class Demo
{
public static void main(String[] args)
{
ArrayList<int> arrList;
}
}
輸出:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error, insert "Dimensions" to complete ReferenceType
at snippet.Demo.main(Demo.java:7)
相反,我們使用包裝類將基元儲存在 ArrayList
中。每個原始資料型別都有一個對應的包裝類,代表相同型別的物件。對於 int 資料型別,包裝類稱為 Integer
。因此,要建立一個整數 ArrayList
,我們需要使用 Integer
包裝類作為其型別。
import java.util.ArrayList;
public class Demo
{
public static void main(String[] args)
{
ArrayList<Integer> arrList = new ArrayList<Integer>();
}
}
我們現在可以使用類的 add()
方法將整數新增到 ArrayList
。
import java.util.ArrayList;
public class Demo
{
public static void main(String[] args)
{
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
}
}
ArrayList
,就像普通陣列一樣,遵循從零開始的索引。我們可以在 add()
方法中指定要新增物件的索引。出現在該索引處的元素及其右側的所有元素將向右移動一位。
將整數元素新增到 ArrayList
中的索引
import java.util.ArrayList;
public class Demo
{
public static void main(String[] args)
{
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
arrList.add(1, 199);//Inserting 199 at index 1.
}
}
通過索引訪問 ArrayList
中的元素
我們可以通過使用它們的索引來獲取單個 ArrayList
專案。將索引值傳遞給 get()
方法以獲取所需的元素。
import java.util.ArrayList;
public class Demo
{
public static void main(String[] args)
{
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
arrList.add(1, 199);//Inserting 199 at index 1.
System.out.println("Element at index 1: " + arrList.get(1));
System.out.println("Element at index 2: " + arrList.get(2));
}
}
輸出:
Element at index 1: 199
Element at index 2: 7
我們還可以使用單個列印語句列印整個 ArrayList
。
import java.util.ArrayList;
public class Demo
{
public static void main(String[] args)
{
ArrayList<Integer> arrList = new ArrayList<Integer>();
arrList.add(5);
arrList.add(7);
arrList.add(12);
System.out.println("Printing the ArrayList: " + arrList);
arrList.add(1, 199);//Inserting 199 at index 1.
System.out.println("Printing the ArrayList: " + arrList);
}
}
輸出:
Printing the ArrayList: [5, 7, 12]
Printing the ArrayList: [5, 199, 7, 12]
整數陣列的 ArrayList
我們可以建立一個 ArrayList
,其中每個元素本身都是一個陣列。我們使用資料型別和方括號來建立一個新陣列。
類似地,我們使用 int[]
定義了 ArrayList
的型別。我們不能使用像 int 這樣的基元作為 ArrayList
型別,但我們可以使用 int[]。這是因為 Java 中的陣列是物件,而不是基元。並且 ArrayList
可以由任何物件型別(在我們的例子中為陣列)建立。
ArrayList<int[]> arrList = new ArrayList<int[]>();
我們可以執行我們上面討論的所有基本操作。我們需要使用 Arrays
的 toString()
方法將陣列正確列印到控制檯。
import java.util.ArrayList;
import java.util.Arrays;
public class Demo
{
public static void main(String[] args)
{
ArrayList<int[]> arrList = new ArrayList<int[]>();
int[] arr1 = {2, 4, 6};
int[] arr2 = {3, 6, 9};
int[] arr3 = {5, 10, 15};
//Adding int arrays to the ArrayList
arrList.add(arr1);
arrList.add(arr2);
arrList.add(arr3);
//Fetching the array from the List
int[] arrAtIdx1 = arrList.get(1);
//Printing the fetched array using the toString() method of Arrays
System.out.println("The Second array in the List is: " + Arrays.toString(arrAtIdx1));
}
}
輸出:
The Second array in the List is: [3, 6, 9]
從 ArrayList
訪問整數陣列元素
我們還可以訪問 ArrayList
中存在的 int 陣列的各個元素。我們將使用陣列索引來做到這一點。例如,如果我們希望訪問第三個陣列的第二個元素,那麼我們將使用以下程式碼:
import java.util.ArrayList;
public class Demo
{
public static void main(String[] args)
{
ArrayList<int[]> arrList = new ArrayList<int[]>();
int[] arr1 = {2, 4, 6};
int[] arr2 = {3, 6, 9};
int[] arr3 = {5, 10, 15};
//Adding int arrays to the ArrayList
arrList.add(arr1);
arrList.add(arr2);
arrList.add(arr3);
//Fetching the second element of the third array
int[] thirdArr = arrList.get(2);
int secondElement = thirdArr[1];
System.out.println("Second Element of the Third Array is: " + secondElement);
}
}
輸出:
Second Element of the Third Array is: 10
但是,我們需要額外的程式碼來列印陣列的整個 ArrayList
。
import java.util.ArrayList;
import java.util.Arrays;
public class Demo
{
public static void main(String[] args)
{
ArrayList<int[]> arrList = new ArrayList<int[]>();
int[] arr1 = {2, 4, 6};
int[] arr2 = {3, 6, 9};
int[] arr3 = {5, 10, 15};
//Adding int arrays to the ArrayList
arrList.add(arr1);
arrList.add(arr2);
arrList.add(arr3);
for(int i = 0; i < arrList.size(); i++)
{
int[] currArr = arrList.get(i);
System.out.println("Array at index " + i + " is: " + Arrays.toString(currArr));
}
}
}
輸出:
Array at index 0 is: [2, 4, 6]
Array at index 1 is: [3, 6, 9]
Array at index 2 is: [5, 10, 15]
ArrayList 的 ArrayList
如上所述,陣列是固定長度的,但 ArrayLists
是動態的。我們可以建立一個由 Integer
ArrayLists
組成的 ArrayList
,而不是建立一個 int 陣列的 ArrayList
。這樣,我們就不必擔心陣列中的空間不足。
ArrayList< ArrayList<Integer> > arrListOfarrLists = new ArrayList< ArrayList<Integer> >();
我們可以像以前一樣使用 add()
方法和 get()
方法。但是,我們需要一個迴圈來列印每個 ArrayList
元素。
import java.util.ArrayList;
public class Demo
{
public static void main(String[] args)
{
ArrayList< ArrayList<Integer> > arrListOfarrLists = new ArrayList< ArrayList<Integer> >();
//Creating individual ArrayLists
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(2);
arrList1.add(4);
arrList1.add(6);
ArrayList<Integer> arrList2 = new ArrayList<>();
arrList2.add(3);
arrList2.add(6);
arrList2.add(9);
ArrayList<Integer> arrList3 = new ArrayList<>();
arrList3.add(5);
arrList3.add(10);
arrList3.add(15);
//Adding ArrayLists to the ArrayList
arrListOfarrLists.add(arrList1);
arrListOfarrLists.add(arrList2);
arrListOfarrLists.add(arrList3);
//Fetching ArrayList
ArrayList<Integer> listAtIdx1 = arrListOfarrLists.get(1);
System.out.println("ArrayList present at index 1 is: " + listAtIdx1 +"\n");
//Printing the entire ArrayList
for(int i=0; i<arrListOfarrLists.size(); i++)
System.out.println("ArrayList at index " + i + " is " + arrListOfarrLists.get(i));
}
}
輸出:
ArrayList present at index 1 is: [3, 6, 9]
ArrayList at index 0 is [2, 4, 6]
ArrayList at index 1 is [3, 6, 9]
ArrayList at index 2 is [5, 10, 15]
如果你希望訪問 ArrayList
的各個元素,請使用 get()
方法兩次。例如,如果你想要第三個 ArrayList
的第二個元素,則使用:
import java.util.ArrayList;
public class Demo
{
public static void main(String[] args)
{
ArrayList< ArrayList<Integer> > arrListOfarrLists = new ArrayList< ArrayList<Integer> >();
//Creating individual ArrayLists
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(2);
arrList1.add(4);
arrList1.add(6);
ArrayList<Integer> arrList2 = new ArrayList<>();
arrList2.add(3);
arrList2.add(6);
arrList2.add(9);
ArrayList<Integer> arrList3 = new ArrayList<>();
arrList3.add(5);
arrList3.add(10);
arrList3.add(15);
//Adding ArrayLists to the ArrayList
arrListOfarrLists.add(arrList1);
arrListOfarrLists.add(arrList2);
arrListOfarrLists.add(arrList3);
//Fetching second element of the third ArrayList
ArrayList<Integer> thirdList = arrListOfarrLists.get(2);
int secondElement = thirdList.get(1);
System.out.print("second element of the third ArrayList is: " + secondElement);
}
}
輸出:
second element of the third ArrayList is: 10
總結
ArrayList
可能是 Java 中最常用的集合。它是一種簡單的資料結構,用於儲存相同型別的元素。我們不能建立像 int 這樣的原始型別的 ArrayList
。我們需要使用這些基元的包裝類。ArrayList
類提供了從列表中新增和獲取元素的便捷方法。我們還可以建立陣列的 ArrayList
或 ArrayLists
的 ArrayList
。它們主要用於以二維矩陣格式或表格格式表示資料。最好使用 ArrayLists
的 ArrayList
,因為它不會限制其大小。