程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> JAVA編程思想(第四版)學習筆記----11.4 容器的打印,編程思想----11.4

JAVA編程思想(第四版)學習筆記----11.4 容器的打印,編程思想----11.4

編輯:JAVA綜合教程

JAVA編程思想(第四版)學習筆記----11.4 容器的打印,編程思想----11.4


 1 import static java.lang.System.out;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Collection;
 5 import java.util.HashMap;
 6 import java.util.HashSet;
 7 import java.util.LinkedHashMap;
 8 import java.util.LinkedHashSet;
 9 import java.util.LinkedList;
10 import java.util.Map;
11 import java.util.TreeMap;
12 import java.util.TreeSet;
13 
14 public class ContainerFramework {
15 
16     static Collection fill(Collection<String> collection) {
17         collection.add("rat");
18         collection.add("cat");
19         collection.add("dog");
20         collection.add("dog");
21         return collection;
22     }
23 
24     static Map fill(Map<String, String> map) {
25         map.put("rat", "Fuzzy");
26         map.put("cat", "Rags");
27         map.put("dog", "Bosco");
28         map.put("dog", "Spot");
29         return map;
30     }
31     public static void main(String[] args) {
32         out.println(fill(new ArrayList<String>()));
33         out.println(fill(new LinkedList<String>()));
34         out.println(fill(new HashSet<String>()));
35         out.println(fill(new TreeSet<String>()));
36         out.println(fill(new LinkedHashSet<String>()));
37         out.println(fill(new HashMap<String, String>()));
38         out.println(fill(new TreeMap<String, String>()));
39         out.println(fill(new LinkedHashMap<String, String>()));
40     }
41 }

上述代碼的運行結果為:

[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接口的所有實現類都保證其元素可以按照插入順序被保存,所以List是有序的collection。其中ArrayList優點在於可以高效的隨機訪問其元素,缺點在於在指定位置插入、移除元素的性能比較慢。而LinkedList在隨機訪問方面比較慢,但是在指定位置插入、移除元素的效率比較高。

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

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

  3. Queue

    • Queue允許在容器的一端進行數據的插入,在另一端進行數據的移除。
  • Map接口有三個重要的子類型:HashMap,TreeMap,LinkedHashMap,可以通過鍵來查找值,是一種“鍵-值"對的容器

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved