java 容器 arraylist 使用方法

來源:互聯網
上載者:User

1. ArrayList概述:

ArrayList 是一個數組隊列,相當於 動態數組。與Java中的數組相比,它的容量能動態增長。它繼承於AbstractList,實現了List, RandomAccess, Cloneable, java.io.Serializable這些介面。
ArrayList 繼承了AbstractList,實現了List。它是一個數組隊列,提供了相關的添加、刪除、修改、遍曆等功能。
ArrayList 實現了RandmoAccess介面,即提供了隨機訪問功能。RandmoAccess是java中用來被List實現,為List提供快速存取功能的。在ArrayList中,我們即可以通過元素的序號快速擷取元素對象;這就是快速隨機訪問。稍後,我們會比較List的“快速隨機訪問”和“通過Iterator迭代器訪問”的效率。
ArrayList 實現了Cloneable介面,即覆蓋了函數clone(),能被複製。
ArrayList 實現java.io.Serializable介面,這意味著ArrayList支援序列化,能通過序列化去傳輸。
和Vector不同,ArrayList中的操作不是安全執行緒的。所以,建議在單線程中才使用ArrayList,而在多線程中可以選擇Vector或者CopyOnWriteArrayList。







二 、建構函式

// 預設建構函式
ArrayList()
// capacity是ArrayList的預設容量大小。當由於增加資料導致容量不足時,容量會添加上一次容量大小的一半。
ArrayList(int capacity)
// 建立一個包含collection的ArrayList
ArrayList(Collection<? extends E> collection)

三、 API

/ Collection中定義的API
boolean             add(E object)
boolean             addAll(Collection<? extends E> collection)
void                clear()
boolean             contains(Object object)
boolean             containsAll(Collection<?> collection)
boolean             equals(Object object)
int                 hashCode()
boolean             isEmpty()
Iterator<E>         iterator()
boolean             remove(Object object)
boolean             removeAll(Collection<?> collection)
boolean             retainAll(Collection<?> collection)
int                 size()
<T> T[]             toArray(T[] array)
Object[]            toArray()
// AbstractCollection中定義的API
void                add(int location, E object)
boolean             addAll(int location, Collection<? extends E> collection)
E                   get(int location)
int                 indexOf(Object object)
int                 lastIndexOf(Object object)
ListIterator<E>     listIterator(int location)
ListIterator<E>     listIterator()
E                   remove(int location)
E                   set(int location, E object)
List<E>             subList(int start, int end)
// ArrayList新增的API
Object               clone()
void                 ensureCapacity(int minimumCapacity)
void                 trimToSize()
void                 removeRange(int fromIndex, int toIndex)



四、遍曆方式


package com.gao;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ArraylistDemo {    public static void main(String args[]){        List<String> list = new ArrayList<String>();        list.add("Hello");        list.add("Hello Arraylist");        //方法1        Iterator it1 = list.iterator();        while(it1.hasNext()){            System.out.println(it1.next());        }        //方法2        for(Iterator it2 = list.iterator();it2.hasNext();){             System.out.println(it2.next());        }        //方法3        for(String tmp:list){            System.out.println(tmp);        }        //方法4        for(int i = 0;i < list.size(); i ++){            System.out.println(list.get(i));        }    }}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.