首頁 > 类库下载 > java类库 > JAVA程式設計思想----11.4 容器的列印

JAVA程式設計思想----11.4 容器的列印

高洛峰
發布: 2016-10-17 09:21:20
原創
1674 人瀏覽過

JAVA程式設計思想(第四版)學習筆記----11.4 容器的列印

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

import static java.lang.System.out;

 

import java.util.ArrayList;

import java.util.Collection;

import java.util.HashMap;

import java.util.HashSet;

import java.util.LinkedHashMap;

import java.util.LinkedHashSet;

import java.util.LinkedList;

import java.util.Map;

import java.util.TreeMap;

import java.util.TreeSet;

 

public class ContainerFramework {

 

    static Collection fill(Collection<String> collection) {

        collection.add("rat");

        collection.add("cat");

        collection.add("dog");

        collection.add("dog");

        return collection;

    }

 

    static Map fill(Map<String, String> map) {

        map.put("rat", "Fuzzy");

        map.put("cat", "Rags");

        map.put("dog", "Bosco");

        map.put("dog", "Spot");

        return map;

    }

    public static void main(String[] args) {

        out.println(fill(new ArrayList<String>()));

        out.println(fill(new LinkedList<String>()));

        out.println(fill(new HashSet<String>()));

        out.println(fill(new TreeSet<String>()));

        out.println(fill(new LinkedHashSet<String>()));

        out.println(fill(new HashMap<String, String>()));

        out.println(fill(new TreeMap<String, String>()));

        out.println(fill(new LinkedHashMap<String, String>()));

    }

}

登入後複製

1

2

3

4

5

6

7

8

[rat, cat, dog, dog]

[rat, cat, dog, dog]

[cat, dog, rat]

[cat, dog, rat]

[rat, cat, dog]

{cat=Rags, dog=Spot, rat=Fuzzy}

{cat=Rags, dog=Spot, rat=Fuzzy}

{rat=Fuzzy, cat=Rags, dog=Spot}

登入後複製

經過運行程式碼,查看結果可以看出,Collection列印出來的內容用方括號[]括住,每個元素由逗號分隔;Map印出來的內容用大括號{}括住,鍵與值用等號連接作為一個元素(鍵=值),每個元素用逗號分隔。

java容器類別包括兩種:以Collection介面為根的集合類,和以Map為根的關聯數組類

Collection介面有三個重要的子類型:List(列表),Set(集合),Queue(隊列)

List有兩個重要的實現,分別為ArrayList和LinkedList


List介面的所有實現類別都保證其元素可以按照插入順序被保存,所以List是有序的collection。其中ArrayList優點在於可以高效的隨機存取其元素,缺點在於在指定位置插入、移除元素的效能比較慢。而LinkedList在隨機存取方面比較慢,但在指定位置插入、移除元素的效率比較高。

2. Set有三個重要的實現,分別為HashSet,TreeSet,LinkedHashSet


Set介面的所有實現類別都保證其元素不會重複。 HashSet使用雜湊演算法來存數集合中的元素,它的元素是無序的,但是取得元素的效率是最快的。 TreeSet是有序的集合,它將集合中的元素按照比較結果的升序進行保存。 LinkedHashSet也是有序的集合,它按照元素插入的順序進行保存對象,同時又具有HashSet的查詢速度。

  3. Queue


Queue允許在容器的一端進行資料的插入,在另一端進行資料的移除。

Map介面有三個重要的子類型:HashMap,TreeMap,LinkedHashMap,可以透過鍵來找出值,是一種「鍵-值"對的容器

HashMap是無序的,具有最快的查找速度。

TreeMap是有序的,按照比較鍵的結果的升序進行保存

LinkedHashMap是有序的,按照插元素的順序進行保存,同時也保留了HashMap的查詢速度。



本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板