java怎么构造map_Java中Map结构
Colletion
Collection接口是劫和層次結構中的根接口。一個Collection表示了一組對象,也稱其為元素(elements)。JDK不提供該接口的任何直接實現,但是提供了具有更特定的子接口(例如:Set和List)Set:不包含重復元素的集合。集合中不能存在兩個元素e1和e2,使得
e1.equals(e2);
因此,集合中只能存在一個空元素。顧名思義,此接口是對應數學中集合的抽象概念。List:可以包含重復元素的集合。并且該集合存在有序性(也稱為序列)。用戶可以精確控制列表中每個元素的插入位置,也可以通過其索引訪問元素。Java集合結構。
MAP
Map是一個將鍵(Key)映射到值(Value)的對象。Map中不能包含重復的鍵,并且每個鍵最多可以映射一個值。Map代替了Dictionary類,不再作為一個純抽象類而是一個接口提供使用。
Map集合提供了三種集合視圖,其中有一組鍵(keySet)、一組值(values)和一組鍵值(entrySet)對。TreeMap:可以通過Map中的鍵來自然排序或在Map創建時通過提供的Comparator對Map進行排序。
HashMap:此Map允許存在空值和空鍵存在,但不保證映射的順序。特別是,它不能保證順序會隨著時間的推移保持恒定。
在Java中,Map與Collection同級,而并非與List和Set同級。Collection儲存單值而Map儲存鍵值對。
MAP常用方法
boolean isEmpty()
如果map中沒有任何鍵值對映射,則返回true。
boolean containsKey(Object key)
如果map中包含一個(最多只有一個)特定鍵的映射,則返回true。
參數為:key - 要在map中測試的鍵。
boolean containsValue(Object value)
如果map中包含了一個或多個映射到鍵的值,則返回true。對于Map接口的大多數實現,此方法需要消耗的時間與map的大小成線性增長。
參數為:value - 要在map中測試的值。
V get(Object key)
返回特定鍵映射的值,如果該鍵在map中沒有對應的映射,則返回null。
如果此map允許存放null值,則返回的null不一定表示該map不包含鍵的映射,也可能明確的指明該鍵的映射值為null。containsKey操作可以用來區分這兩種情況。
參數為:key - 一個鍵,該鍵所關聯的值會被返回。
V put(K key, V value)
將指定值與此映射中的指定鍵做關聯。如果map中的鍵已經有對應的映射值,則會將舊值替換為指定的值。(僅當
m.containsKey(k);
返回true時,才認為map m包含鍵k的映射值)。該方法會返回鍵之前關聯的值,如果為null則該鍵沒有對應的值。
參數為:key - 一個鍵,該鍵要與特定的值相關聯。
value - 一個值,該值要與特定的鍵相關聯。
V remove(Object key)
將指定鍵與其相關聯的一組鍵值對映射從map中移除。該方法會返回指定鍵所映射的值,如果該鍵沒有對應的映射,則返回null。
與get方法相同,如果此map允許存在null值,則返回的null也可能明確的指明該鍵的映射值為null。
一旦調用此方法,則map中不再包含指定鍵與其映射值。
參數為:
key - 一個鍵,該鍵的一組鍵值對映射會被移出map。
void putAll(Map extends K, ? extends V> m)
將特定的map中的所有鍵值對復制到參數中給出的map中。對于從特定map中將鍵值對復制到給出的map中的操作等同于在給出的map中調用一次put(k, v)方法。如果在操作進行過程中對特定的map進行了修改,則不能保證此操作的正確性。
參數為:
m - 要存入map中的一組鍵值對映射組。
void clear()
移除map中的所有鍵值對。在執行該方法后,該map會變成空。
Set> entrySet()
該方法返回此map中包含的映射的Set視圖。該set是基于原map的,所以map的數據改變會反映到set中,反之亦然。
如果在對set進行迭代的時候修改了map(除非通過迭代器自身的remove操作或通過迭代器的setValue方法),則迭代的結果是不確定的。該set支持元素的刪除,刪除map中對應的映射組。但不支持add或addAll操作。
Set keySet()
該方法返回此map中包含的key的Set視圖。該set是基于原map的,所以map的數據改變會反映到set中,反之亦然。
Collection values()
該方法返回此map中包含的values的collection視圖。該collection是基于原map的,所以map的數據改變會反映到collection中,反之亦然。
總結
以上是生活随笔為你收集整理的java怎么构造map_Java中Map结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java gc会回收类么_Java GC
- 下一篇: java.net.inetaddress