您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java集合類的使用”,在日常操作中,相信很多人在Java集合類的使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java集合類的使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
集合類
Java提供了一套實現了Collection接口的標準集合類。其中一些是具體類,這些類可以直接拿來使用,而另外一些是抽象類,提供了接口的部分實現。
標準集合類匯總于下面:
序號類 描述
1 AbstractCollection 實現了大部分的集合接口。
2 AbstractList 繼承于AbstractCollection 并且實現了大部分List接口。
3 AbstractSequentialList 繼承于 AbstractList ,提供了對數據元素的鏈式訪問而不是隨機訪問。
4 LinkedList 繼承于 AbstractSequentialList,實現了一個鏈表。
5 ArrayList 通過繼承AbstractList,實現動態數組。
6 AbstractSet 繼承于AbstractCollection 并且實現了大部分Set接口。
7 HashSet 繼承了AbstractSet,并且使用一個哈希表。
8 LinkedHashSet 具有可預知迭代順序的 Set 接口的哈希表和鏈接列表實現。
9 TreeSet 繼承于AbstractSet,使用元素的自然順序對元素進行排序.
10AbstractMap 實現了大部分的Map接口。
11HashMap 繼承了HashMap,并且使用一個哈希表。
12TreeMap 繼承了AbstractMap,并且使用一顆樹。
13WeakHashMap 繼承AbstractMap類,使用弱密鑰的哈希表。
14LinkedHashMap 繼承于HashMap,使用元素的自然順序對元素進行排序.
15IdentityHashMap 繼承AbstractMap類,比較文檔時使用引用相等。
。。。
在前面的已經討論通過java.util包中定義的類,如下所示:
序號類 描述
1 Vector Vector類實現了一個動態數組。和ArrayList和相似,但是兩者是不同的。
2 Stack 棧是Vector的一個子類,它實現了一個標準的后進先出的棧。
3 Dictionary Dictionary 類是一個抽象類,用來存儲鍵/值對,作用和Map類相似。
4 Hashtable Hashtable是原始的java.util的一部分, 是一個Dictionary具體的實現 。
5 Properties Properties 繼承于 Hashtable.表示一個持久的屬性集.屬性列表中每個鍵及其對應值都是一個字符串。
6 BitSet 一個Bitset類創建一種特殊類型的數組來保存位值。BitSet中數組大小會隨需要增加。
一個Bitset類創建一種特殊類型的數組來保存位值。BitSet中數組大小會隨需要增加。
。。。
集合算法
集合框架定義了幾種算法,可用于集合和映射。這些算法被定義為集合類的靜態方法。
http://www.iis7.com/b/wzjk/
在嘗試比較不兼容的類型時,一些方法能夠拋出 ClassCastException異常。當試圖修改一個不可修改的集合時,拋出UnsupportedOperationException異常。
集合定義三個靜態的變量:EMPTY_SET EMPTY_LIST,EMPTY_MAP的。這些變量都不可改變。
序號算法 描述
1 Collection Algorithms 這里是一個列表中的所有算法實現。
。。。
如何使用迭代器
通常情況下,你會希望遍歷一個集合中的元素。例如,顯示集合中的每個元素。
做到這一點最簡單的方法是采用一個迭代器,它是一個對象,實現了Iterator 接口或ListIterator接口。
迭代器,使你能夠通過循環來得到或刪除集合的元素。ListIterator繼承了Iterator,以允許雙向遍歷列表和修改元素。
這里通過實例列出Iterator和listIterator接口提供的所有方法。
。。。
如何使用比較器
TreeSet和TreeMap的按照排序順序來存儲元素. 然而,這是通過比較器來精確定義按照什么樣的排序順序。
這個接口可以讓我們以不同的方式來排序一個集合。
序號 比較器方法描述
1 使用 Java Comparator這里通過實例列出Comparator接口提供的所有方法
。。。
總結
Java集合框架為程序員提供了預先包裝的數據結構和算法來操縱他們。
集合是一個對象,可容納其他對象的引用。集合接口聲明對每一種類型的集合可以執行的操作。
集合框架的類和接口均在java.util包中。
到此,關于“Java集合類的使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。