1. java中Map類有什麼作用,具體怎麼用呢
map是以鍵值對來存儲數據的,例如:
Map map = new HashMap();
map.put("移動","10086");
String c = map.get("移動");
結果c="10086」;
簡單來說,map就像我們手機的電話本,用map.put("移動","10086"),就是在電話本保存了移動的電話,然後當你想拿移動的電話時候就用String c = map.get("移動");就可以拿到電話號碼了。其實學習結合生活實際比較容易理解,也學得快。
2. java中的map函數怎麼用
map不是函數,是一個對象
可以
Map
map
=
new
HashMap();創建
Map就是鍵值對,
map.put("1","123");
map.put("2","234");
map.get("1")//123
map.get("2")//234
3. java map 的用法
map是個介面
用都是用HasMap等實現Map介面的類
創建:Map<String,String> map = new HashMap<String,String>();
插入元素:map.put("1","a");
移除元素: map.remove("1");
清空: map.clear();
具體參照java API
java.uitl.HashMap
4. 工作中你是如何用Java 遍歷 Map的呢
在java中遍歷Map有不少的方法。我們看一下最常用的方法及其優缺點。
既然java中的所有map都實現了Map介面,以下方法適用於任何map實現(HashMap, TreeMap, LinkedHashMap, Hashtable, 等等)
方法一、 在for-each循環中使用entries來遍歷
這是最常見的並且在大多數情況下也是最可取的遍歷方式。在鍵值都需要時使用。
作為方法一的替代,這個代碼看上去更加干凈;但實際上它相當慢且無效率。因為從鍵取值是耗時的操作(與方法一相比,在不同的Map實現中該方法慢了20%~200%)。如果你安裝了FindBugs,它會做出檢查並警告你關於哪些是低效率的遍歷。所以盡量避免使用。
總結
如果僅需要鍵(keys)或值(values)使用方法二。如果你使用的語言版本低於java 5,或是打算在遍歷時刪除entries,必須使用方法三。否則使用方法一(鍵值都要)。
5. java Map 怎麼遍歷
關於java中遍歷map具體有四種方式,請看下文詳解。
1、這是最常見的並且在大多數情況下也是最可取的遍歷方式,在鍵值都需要時使用。
Map<Integer, Integer> map = newHashMap<Integer, Integer>();
for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println("Key = "+ entry.getKey() + ", Value = "+ entry.getValue());
}
2、在for-each循環中遍歷keys或values。
如果只需要map中的鍵或者值,你可以通過keySet或values來實現遍歷,而不是用entrySet。
Map<Integer, Integer> map = newHashMap<Integer, Integer>();
for(Integer key : map.keySet()) {
System.out.println("Key = "+ key);
}
for(Integer value : map.values()) {
System.out.println("Value = "+ value);
}
該方法比entrySet遍歷在性能上稍好(快了10%),而且代碼更加干凈。
3、使用Iterator遍歷
使用泛型:
Map<Integer, Integer> map = newHashMap<Integer, Integer>();
Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
while(entries.hasNext()) {
Map.Entry<Integer, Integer> entry = entries.next();
System.out.println("Key = "+ entry.getKey() + ", Value = "+ entry.getValue());
}
不使用泛型:
Map map = newHashMap();
Iterator entries = map.entrySet().iterator();
while(entries.hasNext()) {
Map.Entry entry = (Map.Entry) entries.next();
Integer key = (Integer)entry.getKey();
Integer value = (Integer)entry.getValue();
System.out.println("Key = "+ key + ", Value = "+ value);
}
4、通過鍵找值遍歷(效率低)
Map<Integer, Integer> map = newHashMap<Integer, Integer>();
for(Integer key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key = "+ key + ", Value = "+ value);
}
假設Map中的鍵值對為1=>11,2=>22,3=>33,現用方法1來遍歷Map代碼和調試結果如下:
(5)map使用方法java擴展閱讀:
1、HashMap的重要參數
HashMap 的實例有兩個參數影響其性能:初始容量 和載入因子。容量是哈希表中桶的數量,初始容量只是哈希表在創建時的容量。
載入因子 是哈希表在其容量自動增加之前可以達到多滿的一種尺度。當哈希表中的條目數超出了載入因子與當前容量的乘積時,則要對該哈希表進行 rehash 操作(即重建內部數據結構),從而哈希表將具有大約兩倍的桶數。
在Java編程語言中,載入因子默認值為0.75,默認哈希表元為101。
2、HashMap的同步機制
注意,此實現不是同步的。 如果多個線程同時訪問一個哈希映射,而其中至少一個線程從結構上修改了該映射,則它必須保持外部同步。
(結構上的修改是指添加或刪除一個或多個映射關系的任何操作;以防止對映射進行意外的非同步訪問,如下:
Map m = Collections.synchronizedMap(new HashMap(...));
6. java中如何使用map存取數據
java中使用map存取數據的方法如下:
1、需要指定其中的K,V;k=keyv=value。
7. java中map的常用遍歷方法有哪些
ava中map的常用遍歷的具體方法有:
一 、在for-each循環中使用entries來遍歷。這是最常見的並且在大多數情況下也是最可取的遍歷方式。在鍵值都需要時使用。
二、 在for-each循環中遍歷keys或values。如果只需要map中的鍵或者值,你可以通過keySet或values來實現遍歷,而不是用entrySet。
三、使用Iterator遍歷。
四、通過鍵找值遍歷(效率低)。
總結:如果僅需要鍵(keys)或值(values)使用方法二。如果你使用的語言版本低於java 5,或是打算在遍歷時刪除entries,必須使用方法三。否則使用方法一(鍵值都要)。
8. java教程之Map應該怎麼用
Map集合:
確保唯一性依賴於hashCode()和equals方法
HashSet底層依賴於HashMap,TreeSet底層依賴於TreeMap
Map集合石雙列的,Collection是單列的
Map的鍵唯一,Collection的子體系Set是唯一的
Map集合的數據結構值針對鍵有效,跟值無關,Collection集合的數據結構是針對元素有效
添加:V put(K key,V value);
如果鍵是第一次儲存就直接存,返回null,如果不是,就用值把以前覆蓋並返回舊值
刪除:void clear();清空
V remove(Object key);根據鍵刪除鍵值對元素,返回值
判斷:
boolean containsKey(0bject key) 判斷集合是否包含指定的鍵
boolean containsValue(Object value)判斷集合是否包含指定的值
boolean isEmpty() 判斷集合是否為空
獲取:
V get(Object key) 根據鍵獲取值
Set<K> keySet() 獲取集合中所有鍵的集合
Collection<V> values() 獲取集合中所有值的集合
長度:
int size() 返回集合中的鍵值對數
遍歷:
1.
Set<> keySet = hm.keySet();
hm.get(key);
2.
Set<Map.Entry<,>> = hm.entrySet();
Map.Entry<,>.getKey()
Map.Entry<,>.getValue()
TreeMap對鍵進行比較
9. java 中Map用法
第一種是先把map的所有key看成Set,然後遍歷出每個key,根據key獲取value.
第二種是先把map看成一個Map.Entry的Set,那麼每個Map.Entry就是一個鍵--值對,遍歷這個Set,就遍歷出了一個個的Map.Entry,這個對象包含了鍵值對,直接從中獲取key和value就ok.