Java ArrayList常用接口介紹及示例


Java List

常用類型

類型 特征
ArrayList 隨機訪問元素快;中間插入與刪除元素較慢;操作不是線程安全的
LinkedList 中間插入與刪除操作代價較低,提供優化的順序訪問;隨機訪問元素慢

ArrayList 常用 API

方法 描述
boolean add(E object) 再 ArrayList 尾存入對象
void add(int location, E object) 在 location 添加對象
boolean addAll(Collection<? extends E> collection) 將一個 Collection 對象中存儲全部的對象復制並存入
boolean addAll(int location, Collection<? extends E> collection) 將一個 Collection 對象中存儲全部的對象復制並存入location
boolean contains(Object object) 是否包對象 object
boolean containsAll(Collection<?> collection) 是否包含一個 Collection 對象
boolean isEmpty() ArrayList 是否為空
E get(int location) 獲取 location 的對象
E set(int location, E object) 將某個位置的元素替換成 object
int indexOf(Object object) 獲取某個對象的位置(順序遍歷第一個)
int lastIndexOf(Object object) 獲取某個對象的位置(逆序遍歷第一個)
int size() 返回 ArrayList 存儲的對象數量
boolean remove(Object object) 刪除存儲的某個對象
E remove(int lcoation) 刪除位於 location 的對象
boolean removeAll(Collection<?> collection) 刪除存儲的某個 Collection 對象
Object [] toArray() ArrayList 轉數組
List<'E'> subList(int start, int end) 獲取位於 start 與 end 之間的 List
void clone() 克隆ArrayList
void clear() 移除ArrayList中所有對象
Iterator<'E'> iterator() 獲取該 ArrayList 對應的迭代器對象

ArrayList 應用示例

  1. ArrayList與數組之間的轉換

        // 轉數組
    
        List<String> list = new ArrayList<>();
        String[] strings = new String[list.size()];
        list.toArray(strings);
    
        // 或者
        String[] strings = (String[])list.toArray(new String[list.size()]);
    
        // 數組轉LIst
        // 法1 快速,但是以視圖形式返回,無法對數據進行刪除及添加操作;
        // 可用 set() 方法修改元素,但是原始List數據會隨之改變
    
        String[] s = {"abc", "def", "ghi"};
        List<String> list = java.util.Arrays.asList(s);
    
        //法 2 慢,但是新生成一個ArrayList,可對List進行操作不會對原對象產生影響
    
        List<String> assertList = new ArrayList();
        Collections.addAll(assertList, strings);
    
  2. ArrayList遍歷方式

    // 第一種,通過迭代器遍歷。即通過Iterator去遍歷。
    Integer value = null;
    Iterator iter = list.iterator();
    while (iter.hasNext()) {
        value = (Integer)iter.next();
    }
    
    // 第二種,隨機訪問,通過索引值去遍歷。
    Integer value = null;
    int size = list.size();
    for (int i=0; i < size; i++) {
        value = (Integer)list.get(i);        
    }
    
    // 第三種,for循環遍歷。
    Integer value = null;
    for (Integer integer: list) {
        value = integer;
    }
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM