1. 程式人生 > >java-se-集合之List

java-se-集合之List

List:列表         此介面對應的實現類的特點都是:有序的、可重複的(重複與否與元素的equals()方法有關)         常用方法:             void   add(int index, E element)                            將元素element插入此集合的index處             E   get(index)                                                           返回指定下標的元素             E   set(int index, E element)                                   替換指定下標的元素             int  

indexOf(obj)                                                       返回obj第一次出現的下標,沒有出現返回-1             boolean   remove(int index)                                    移除此集合中下標為index的元素             List<E>   subList(int fromIndex,int endIndex)        擷取此集合中的一部分,從fromIndex開始到endIndex 包前不包後                 ps:此方法在堆中產生了一個內部類SubList集合物件,此集合物件指向引用的是父集的一部分,修改子集,會影響父集             int
   lastIndexOf(Object obj)                                     返回此集合中指定元素obj最後一次出現的下標,找不到則返回-1         陣列與集合之間的轉換:             1、集合轉陣列                 Object    toArray()                 E[]    toArray(E[] e)             2、陣列轉集合                 List    Arrays.asList(陣列引數)                     ps:陣列轉成的集合不能進行增刪操作,否則會出現執行時異常java.lang.UnsupportedOperationException                         可以修改,會影響陣列內容。可以將元素存入新的陣列中進行增刪操         List的三個實現類:
            (1)ArrayList:底層是基於動態陣列的資料結構,是有存放順序的             (2)LinkedList:底層是基於雙鏈表的資料結構,每一個儲存單元都涉及到其他兩個引用                 優缺點:執行get()/set()方法時,ArrayList的效率高,LinkedList的效率低                           在增加/刪除操作時,LinkedList效率高,ArrayList效率低             (3)Vector:是一個比較古老的集合,執行緒安全,效率特別低,不建議使用