1. 程式人生 > 其它 >ArrayList容器類基礎用法

ArrayList容器類基礎用法

ArrayList容器類

ArrayList是List介面的例項化,是List儲存特徵的具體實現。

ArrayList底層是用陣列實現的儲存,特點:查詢效率高,增刪效率低,執行緒不安全。

ArrayList類的一些常用方法:

public class ArrayListTest {
    public static void main(String[] args) {
        
        //例項化ArrayList容器
        List<String> list = new ArrayList<>();
        //新增元素
        boolean
flag = list.add("hyh"); boolean flag2 = list.add("csy"); System.out.println(flag); //索引的數值不能大於元素的個數 list.add(1, "love"); list.add(3, "forever"); System.out.println(list.get(0)); System.out.println(list.get(1)); System.out.println(list.get(
2)); System.out.println("---------"); //通過迴圈獲取集合中的所用元素 //size():返回集合中元素的個數 for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } System.out.println("*********"); //根據索引位置刪除元素 String value = list.remove(1); System.out.println(value);
for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } System.out.println("**********"); //刪除指定元素 boolean flag3 = list.remove("hyh"); System.out.println(flag3); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } System.out.println("-----替換元素-----"); String val = list.set(0, "hyh"); System.out.println(val); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } System.out.println("-----清空容器-----"); list.clear(); System.out.println(list.size()); System.out.println("-----判斷容器是否為空-----"); list.add("hyh"); list.add("love"); list.add("csy"); list.add("csy"); boolean flag4 = list.isEmpty(); System.out.println(flag4); System.out.println("-----判斷容器中是否包含指定元素-----"); boolean flag5 = list.contains("csy"); System.out.println(flag5); System.out.println("-----查詢元素在容器中的位置(索引)-----"); //indexOf方法返回的是元素在容器中第一次出現的位置 int index = list.indexOf("csy"); System.out.println(index); System.out.println("-----元素最後一次出現的位置-----"); //lastIndexOf方法返回的是元素在容器中最後一次出現的位置 int lastIndex = list.lastIndexOf("csy"); System.out.println(lastIndex); System.out.println("-----將單例集合轉換為陣列-----"); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } System.out.println("-----轉換為object[]-----"); //將ArrayList轉換為Object[] //但是不能將轉換的陣列做強制型別轉換 Object[] arr = list.toArray(); for(int i=0;i<arr.length;i++){ String str = (String) arr[i]; System.out.println(str); } System.out.println("-----單例集合轉換為指定型別的陣列-----"); //可以將單例集合轉換為指定型別陣列 //但是,型別需要參考泛型中的型別 String[] arr2 = list.toArray(new String[list.size()]); for (int i = 0; i < arr2.length; i++) { System.out.println(arr2[i]); } System.out.println("-----容器的並集操作-----"); List<String> a = new ArrayList<>(); a.add("a"); a.add("b"); a.add("c"); List<String> b = new ArrayList<>(); b.add("b"); b.add("c"); b.add("d"); //a並b boolean flag6 = a.addAll(b); System.out.println(flag6); for (String str : a) { System.out.println(str); } System.out.println("-----容器的交集操作-----"); List<String> a1 = new ArrayList<>(); a1.add("a"); a1.add("b"); a1.add("c"); List<String> b1 = new ArrayList<>(); b1.add("b"); b1.add("c"); b1.add("d"); boolean flag7 = a1.retainAll(b1); System.out.println(flag7); for (String str : a1) { System.out.println(str); } System.out.println("-----容器的差集操作-----"); List<String> a2 = new ArrayList<>(); a2.add("a"); a2.add("b"); a2.add("c"); List<String> b2 = new ArrayList<>(); b2.add("b"); b2.add("c"); b2.add("d"); boolean flag8 = a2.removeAll(b2); System.out.println(flag8); for (String str : a2) { System.out.println(str); } } }