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

來源:互聯網
上載者:User

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,可以通過鍵來尋找值,是一種“鍵-值"對的容器

聯繫我們

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