集合
1. 自動擴容 ,集合長度可變
2. 只可以存引用數據類型,如果要存基本數據類型,需要將其轉換成對應的包裝類
ArrayList ??
定義在 java.util 下的,實現了 List 接口。ArrayList 內部以動態數組的形式存儲元素,這意味著它的大小能夠隨著元素的添加或者移除而動態改變。
import java.util.ArrayList;
- 動態數組:
ArrayList
?是動態數組,它的大小能按需自動調整。 - 有序集合:它會按元素插入的順序來存儲元素,這意味著元素的順序是可預測的。
- 允許重復元素:
ArrayList
?能夠存儲重復的元素。 - 可存儲任意類型:借助泛型,
ArrayList
?可以存儲任意類型的對象。
?
?
創建ArrayList
import java.util.ArrayList;// 創建一個存儲整數的 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();// 創建一個存儲字符串的 ArrayList
ArrayList<String> names = new ArrayList<>();
ArrayList成員方法(增刪改查)
package ArrayListTest;import java.util.ArrayList;public class ArrayListDemo2 {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();//添加元素boolean result = list.add("aaaccc");System.out.println(result);//刪除元素boolean result2 = list.remove("aaa");System.out.println(result);System.out.println(list);//修改元素String result3 = list.set(0,"bbb");System.out.println(result);System.out.println(list);//獲取指定索引的元素String result4 = list.get(0);System.out.println(result);System.out.println(list);}
}
?
?遍歷ArrayList
可以使用多種方式遍歷 ArrayList,下面是幾種常見的方法:
1.使用for循環
for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));
}
2.使用增強 for 循環
for (String fruit : list) {System.out.println(fruit);
}
3.迭代器
?
import java.util.Iterator;Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {System.out.println(iterator.next());
}
完整示例代碼
以下是一個完整的 Java 示例,展示了?ArrayList
?的基本操作:
import java.util.ArrayList;public class ArrayListExample {public static void main(String[] args) {// 創建一個存儲字符串的 ArrayListArrayList<String> fruits = new ArrayList<>();// 添加元素fruits.add("Apple");fruits.add("Banana");fruits.add("Cherry");// 打印所有元素System.out.println("所有水果: " + fruits);// 訪問元素String firstFruit = fruits.get(0);System.out.println("第一個水果: " + firstFruit);// 修改元素fruits.set(1, "Grape");System.out.println("修改后的水果列表: " + fruits);// 刪除元素fruits.remove(2);System.out.println("刪除后的水果列表: " + fruits);// 獲取元素數量int size = fruits.size();System.out.println("水果數量: " + size);// 遍歷元素System.out.println("遍歷水果列表:");for (String fruit : fruits) {System.out.println(fruit);}}
}