1. 程式人生 > >java基礎知識:list集合

java基礎知識:list集合

1.collection :分為list和set

list中的元素:有序,元素可以重複;凡是可以操作角標的方法都是該體系特有的方法,crud操作

set中的元素:無序,元素不可以重複;

在迭代過重,如果想要對元素進行其他操作,如新增、修改,將用到Iterator子介面listIterator

2.不同list的區別

arraylist:底層的資料結構為陣列,特點是:查詢快,增加,刪除稍慢。

linkedlist:底層使用的連結串列資料結構;特點是:增、刪 快,查詢稍慢。

vector:底層使用的是陣列,執行緒同步;

3.linkedlist

LinkedList link=new LinkedList();
link.addFirst("liu");
link.addFirst("ju");
link.addFirst("fu");
System.out.println("first:"+link);
結果:

first:[fu, ju, liu]

LinkedList link2=new LinkedList();

link2.addLast("beijing");

link2.addLast("shanghai");

link2.addLast("tianjing");

System.out.println("last:"+link2);

結果為:

last:[beijing, shanghai, tianjing]

getFirst(),getlast(),獲取元素,但不刪除元素

removeFirst,removeLast,獲取元素,且刪除元素。

4.hashset

hashset:底層的資料結構為雜湊表

hashset是如何保證元素唯一性呢?

通過hashcode和equals,如果hashcode相同,再判斷equals方法是否為true,判斷元素是否存在。

並且刪除元素也均依賴於hashcode和equals方法。

5.vector

Vector v=new Vector();
v.add("ljf");
v.add("haha");
Enumeration en=v.elements();
while(en.hasMoreElements()){
    System.out.println("zhi:"+en.nextElement());
}

結果為:

zhi:ljf zhi:haha