java ->集合

來源:互聯網
上載者:User

標籤:list   查看   功能   xtend   概述   lin   原始碼   array   ring   

集合介紹

集合,集合是java中提供的一種容器,可以用來儲存多個資料。

在前面的學習中,我們知道資料多了,可以使用數組存放或者使用ArrayList集合進行存放資料。那麼,集合和數組既然都是容器,它們有啥區別呢?

數組的長度是固定的。集合的長度是可變的。集合中儲存的元素必須是引用類型資料

ArrayList集合儲存元素

我們來回顧下,使用ArrayList集合儲存元素並遍曆的過程。

 

練習一:ArrayList集合儲存5個int類型元素

public static void main(String[] args) {

ArrayList<Integer> list = new ArrayList<Integer>();

    list.add(111);

    list.add(222);

    list.add(333);

    list.add(444);

    list.add(555);

    for(int i=0; i<list.size(); i++){

System.out.println(list.get(i));

}

}

練習二:ArrayList集合儲存5個Person類型元素

public static void main(String[] args) {

ArrayList<Person> list = new ArrayList<Person>();

    list.add(new Person("小強"));

    list.add(new Person("老王"));

    list.add(new Person("小虎"));

    list.add(new Person("小澤"));

    list.add(new Person("小紅"));

    for(int i=0; i<list.size(); i++){

        Person p = list.get(i);

System.out.println(p);

}

}

集合的繼承實現關係

查看ArrayList類發現它繼承了抽象類別AbstractList同時實現介面List(有序),而List介面又繼承了Collection介面。Collection介面為最頂層集合介面了。 採集,聚集

原始碼:

interface List extends Collection {

}

public class ArrayList extends AbstractList implements List{

}

這說明我們在使用ArrayList類時,該類已經把所有抽象方法進行了重寫。那麼,實現Collection介面的所有子類都會進行方法重寫。

 

 

Collection介面常用的子介面有:List介面、Set介面

 

List介面常用的子類有:ArrayList類、LinkedList類

 

Set介面常用的子類有:HashSet類、LinkedHashSet類

 

Set無序 List 有序

Collection介面概述

既然Collection介面是集合中的頂層介面,那麼它中定義的所有功能子類都可以使用。查閱API中描述的Collection介面。Collection 階層中的根介面。Collection 表示一組對象,這些對象也稱為 collection 的元素。一些 collection 允許有重複的元素,而另一些則不允許。一些 collection 是有序的,而另一些則是無序的。

繼續查閱API,發現Collection介面中很多集合的操作方法,那麼這些方法都具體能做什麼呢?

Collection介面的基本方法

這裡我們不關心具體建立的Collection中的那個子類對象,這裡重點示範的是Collection介面中的方法。

建立集合的格式:

方式1:Collection<元素類型> 變數名 = new ArrayList<元素類型>();

方式2:Collection 變數名 = new ArrayList();

方式1建立的集合,只能儲存<>中指定的元素類型,該方式為常用方式

 

方式2建立的集合,集合的元素類型預設為Object類型,即任何類型的元素都可以儲存。

 

示範Collection介面中的方法

//建立集合

Collection coll = new ArrayList();

//1,往集合中添加對象元素。add(E e)方法,E代表建立集合時所指定的資料類型如<String>,那麼,E就代表String類型;建立集合時若沒有指定資料類型,那麼,E就代表Object類型。

coll.add("abc");

coll.add("ef");

coll.add("g");        

//把集合列印一下。

System.out.println(coll); //列印結果為:[abc, ef, g]

System.out.println(coll.toString()); //列印結果為:[abc, ef, g]

//2,從集合中刪除元素。remove(Object o)方法

coll.remove("ef");        

//刪除後,集合元素為[abc, g]

//3,判斷集合中是否包含指定元素。contains(Object o)方法

System.out.println(coll.contains("abc"));

//列印結果為true

System.out.println(coll.contains("ef"));

//列印結果為false

    

//4,擷取集合元素個數。size()方法

System.out.println(coll.size());

//列印結果為2

 

//5,返回包含集合中所有元素的數組。toArray()方法

String[] array = coll.toArray();

//數組中的元素為{"abc", "g"}

 

//6,清除集合元素。remove()方法

coll.clear();清空的是內容

//清空後,集合元素為[],代表沒有元素

java ->集合

相關文章

聯繫我們

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