java基礎知識:list集合
阿新 • • 發佈:2018-12-15
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