一、JavaNewArrayList概述
JavaNewArrayList是Java語言提供的基於數組實現的動態數組,可以根據需要動態擴容,提供了與傳統數組相同的操作方法。相較於傳統數組,JavaNewArrayList可以更加方便的進行數據的添加,刪除和遍歷,是Java語言中常用的數據結構之一。
JavaNewArrayList是java.util包中的一個類,在使用前需要先進行導包:import java.util.ArrayList;
二、JavaNewArrayList的常用方法
1. 添加元素
使用add()方法可以在JavaNewArrayList中添加元素,可以添加Java的基本數據類型、對象類型和集合類型 :
ArrayList<String> list = new ArrayList<String>(); list.add("apple"); // 添加字元串 list.add("orange"); list.add(2, "banana"); // 在第二個位置添加字元串
輸出結果:
["apple", "orange", "banana"]
可以看到,使用add()方法增加元素時,如果不指定插入的位置,默認是在末尾插入。
2. 刪除元素
可以使用remove()方法刪除JavaNewArrayList中的元素,可以根據索引或元素本身來進行刪除:
ArrayList<String> list = new ArrayList<String>(); list.add("apple"); list.add("orange"); list.add("banana"); list.remove(1); // 刪除位置為1的元素,即"orange" list.remove("banana"); // 刪除值為"banana"的元素
輸出結果:
["apple"]
可以看到,使用remove()方法可以根據索引或元素本身來進行刪除。如果使用remove()方法刪除一個元素後,後面的元素會自動向前移動,數組的長度也會相應縮小。
3. 獲取元素
可以使用get()方法獲取JavaNewArrayList中的元素,可以根據索引來獲取元素:
ArrayList<String> list = new ArrayList<String>(); list.add("apple"); list.add("orange"); list.add("banana"); String str = list.get(1); // 獲取位置為1的元素,即"orange" System.out.println(str);
輸出結果:
orange
4. 修改元素
可以使用set()方法修改JavaNewArrayList中的元素,可以根據索引來修改元素的值:
ArrayList<String> list = new ArrayList<String>(); list.add("apple"); list.add("orange"); list.add("banana"); list.set(1, "watermelon"); // 將位置為1的元素修改為"watermelon"
輸出結果:
["apple", "watermelon", "banana"]
5. 遍曆元素
可以使用for循環或forEach循環來遍歷JavaNewArrayList中的元素:
ArrayList<String> list = new ArrayList<String>(); list.add("apple"); list.add("orange"); list.add("banana"); // 使用for循環遍歷JavaNewArrayList中的元素 for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } // 使用forEach循環遍歷JavaNewArrayList中的元素 for (String str : list) { System.out.println(str); }
輸出結果:
apple orange banana apple orange banana
三、JavaNewArrayList的其他用法
1. JavaNewArrayList的初始化
可以在聲明JavaNewArrayList的時候對其進行初始化,常用的有以下兩種方法:
// 初始化JavaNewArrayList並添加元素 ArrayList<String> list1 = new ArrayList<String>() {{ add("apple"); add("orange"); add("banana"); }}; // 使用Arrays.asList()方法初始化JavaNewArrayList List<String> list2 = Arrays.asList("apple", "orange", "banana"); ArrayList<String> list3 = new ArrayList<String>(list2);
以上兩種方法都能夠完成JavaNewArrayList的初始化,但是第二種方法會返回一個不可變的列表。如果要對JavaNewArrayList進行修改,需要將其轉化為可變的JavaNewArrayList。
2. JavaNewArrayList的容量和擴容機制
JavaNewArrayList是基於數組實現的動態數組,需要提前設定其容量大小。當JavaNewArrayList的長度超過其容量大小時,JavaNewArrayList會對其進行擴容。JavaNewArrayList的擴容機制是:每次擴容增加原來容量的一半。
ArrayList<String> list = new ArrayList<String>(10); // 初始化容量為10的JavaNewArrayList list.add("apple"); list.add("orange"); list.add("banana"); System.out.println(list.size()); // 輸出JavaNewArrayList的長度 list.add("watermelon"); System.out.println(list.size()); // 輸出JavaNewArrayList的長度
輸出結果:
3 4
可以看到,JavaNewArrayList在添加水果”watermelon”時,JavaNewArrayList的長度已經超過了其初始化容量的大小10,因此會進行自動擴容,每次增加原來容量的一半。
3. JavaNewArrayList的類型限制
JavaNewArrayList是一個強類型的集合,在聲明JavaNewArrayList時需要指明其參數類型。如果試圖將不兼容的元素添加到JavaNewArrayList中,會出現編譯錯誤:
ArrayList<String> list = new ArrayList<String>(); list.add("apple"); list.add(100); // 編譯錯誤,Integer類型不兼容String類型
可以看到,試圖將整數100添加到字元串類型的JavaNewArrayList中時,就會出現編譯錯誤。
四、總結
JavaNewArrayList是Java語言中非常常用的數據結構,其使用方法和傳統數組類似,但是具有更方便的添加、刪除和遍歷等操作。JavaNewArrayList有很多小細節,需要熟悉才能夠使用得更加熟練。在實際的開發中,JavaNewArrayList也有其局限性,例如類型限制等。因此,在使用時需要根據實際需求進行選擇和權衡。
原創文章,作者:MATJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132466.html