JAVA 13 (集合架構)

來源:互聯網
上載者:User

標籤:

集合是一種容器。集合和數組的不同之處:只用於儲存物件,集合長度可變,數組只能存同一種類型的對象,集合可以存任意對象。 Collection    |--List:元素是有序的,元素可以重複,因為該集合提醒有索引            |--ArrayList:底層的資料結構使用的是數組,查詢速度很快,增刪稍慢。是不同步的,容易出安全隱患。單線程用,效率高。            |--LinkedList:底層資料結構使用的是鏈表資料結構,查詢速度慢,增刪快            |--Vetor:底層是數組資料結構。victor是同步的,進步不用了    |--Set:元素無需,不可重複,無索引            |--HashSet :底層資料結構是雜湊表。            |--TreeSet

              Collection collection是一個介面其中包含ArrayList 和 LinkedList 和 Vector  三個主要的類集合中儲存的是對象的引用。主要方法介紹:以ArrayList為例 import java.util.*;public class Test { public static void main(String adgs[]) {  ArrayList al = new ArrayList();  ArrayList al2 = new ArrayList();  al2.add("ppp");  al2.add("kkk");    //1,,添加元素  al.add("java1");  al.add("java2");  al.add("java3");  al.add("java4");   //2,擷取長度  sop("size:"+al.size());   //3,列印集合  sop(al);   //4,刪除元素  al.remove("java2"); //使用該對象的equals來判斷是否相同  sop(al);   //5,清空集合  al.clear();  sop(al);   al.add("java1");  al.add("java2");  al.add("java3");  al.add("java4");   //6,判斷元素  sop("java1是否存在"+al.contains("java1"));   //equals   //7,添加集合 addall  al.addAll(al2);  sop(al);   //8,取交集,存放在al中  al.clear();  al2.clear();  al.add("java1");  al.add("java2");  al.add("java3");  al.add("java4");   al2.add("ppp");  al2.add("kkk");  al2.add("java3");  al2.add("java4");  al.retainAll(al2);  sop(al);   //9,取差集  al/al2  al.removeAll(al2);   //10,containsAll() 返回 true or false  } public static void sop(Object o) {  System.out.println(o); }}  迭代器類:Interator取出並操作元素: 統一了集合元素的取出方式。 使用過程:擷取對象Interator it = collection.iterator();方法 Object it.next()//取出元素        boolean it.hasNext()//判斷是否還有元素可以取出import java.util.*;public class Test { public static void main(String adgs[]) {  ArrayList al = new ArrayList();  //1,,添加元素  al.add("java1");  al.add("java2");  al.add("java3");  al.add("java4");   /*  Iterator it = al.iterator();//擷取迭代器,用於取出集合中的元素  while(it.hasNext())   sop(it.next());   */   for(Iterator it = al.iterator();it.hasNext();) //這種寫法節省記憶體   sop(it.next()); } public static void sop(Object o) {  System.out.println(o); }}    List   List特有的常見方法:凡是可以操作角標的方法都是 增    add(index,element)    addAll(index,Collection)刪    remove(index)改    set(index,element)//ele:元素查      get(index)    subList(from,to)    listIterator()  ArrayListimport java.util.*;public class Test { public static void main(String adgs[]) {  ArrayList al = new ArrayList();   //添加元素  al.add("java01");  al.add("java02");  al.add("java03");  sop("元集合"+al);   al.add(1,"java09");  sop(al);   //刪除指定位置元素   al.remove(2);  sop(al);   //修改元素  al.set(1, "jjj");  sop(al);   //查  sop("1:"+al.get(1));   //擷取所有元素。  for(int x=0;x<al.size();x++)   sop("al()"+al.get(x));  //通過 indexOF擷取對象的位置  sop(al.indexOf("java03"));   List sub = al.subList(1, 3);    sop(sub);    } public static void sop(Object o) {  System.out.println(o); }}   列表迭代器 import java.util.*;public class Test { public static void main(String adgs[]) {  ArrayList al = new ArrayList();   al.add("java01");  al.add("java02");  al.add("java03");   Iterator it = al.iterator();   while(it.hasNext())  {   Object obj = it.next();      if(obj.equals("java02"))    it.remove();     //講java02從集合中刪除了。但不支援al.add()操作   //會引發異常   sop(obj);  }  sop(al); } public static void sop(Object o) {  System.out.println(o); }} 所以就有了列表迭代器:    LinkedList  特有方法:addFirst(obj);//在LL的最開頭添加objaddLast(obj); getFirst(); //擷取頭,尾getLast(); removeFirst();//擷取元素,但是元素會被刪除。如果沒有元素,會出現異常。removeLast();      ArrayList 練習  重複資料刪除對象,核心在於重寫該對象的equals方法注意類型轉換多態的應用。   Set   Set介面:元素無須,不可重複。 Set的功能是和Collection是一致的 建立對象時建立 HashSet  

JAVA 13 (集合架構)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.