您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹Java中Map的使用方法,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在JAVA中,map接口提供的集合又稱為查找表。
Map 接口定義的集合又稱為查找表,用于存儲所謂"key-value"映射對。Key可以看成是Value 的索引,作為key的對象在集合中不可重復。
根據內部數據結構的不同,Map 接口有多種實現類,其中常用的有內部為hash 表實現的 HashMap 和內部為排序二叉樹實現的TreeMap。
java.util.Map 接口 查找表
Map 體現的結構是一個多行兩列的表格,左列稱為key 右列稱為value. Map 總是根據key來獲取對應的value.因此保存數據時是成對保存的,并且應當將查詢的數據作為value查詢條件作為key進行保存. Map要求key 不允許重復(equals 比較判定)
常用的實現類
java.util.HashMap,散列表,哈希表
查詢速度最快的數據結構
Map的遍歷
import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; /** * Map的遍歷 Map提供了三種遍歷方式: 1:遍歷所有的key 2:遍歷每一組鍵值對 3:遍歷所有的value(相對不常用) * */ public class MapDemo2 { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("語文", 99); map.put("數學", 98); map.put("英語", 97); map.put("物理", 96); map.put("化學", 99); System.out.println(map); /* * 遍歷所有的key * Set keySet() * 將當前Map中所有的key以一個Set集合 * 形式返回.遍歷該集合等同于遍歷了所有 * 的key */ Set<String> keySet = map.keySet(); for(String key : keySet) { System.out.println("key:"+key); } /* * 遍歷每一組鍵值對 * Set entrySet() * 將當前Map中每一組鍵值對以一個Entry實例 * 存入Set集合并返回. * * java.util.Map.Entry * Entry的每一個實例用于表示Map中的一組 * 鍵值對 */ Set<Entry<String,Integer>> entrySet = map.entrySet(); for(Entry<String,Integer> e:entrySet) { String key = e.getKey(); Integer value = e.getValue(); System.out.println(key+":"+value); } } }
基本用法
public class MapDemo{ public static void main(String[] args){ Map<String,Integer>map = new HashMap<>(); /* * V put(K k,V v) * 將給定的key-value對存入Map * 由于Map要求key不允許重復,所以若 * 使用重復的key存儲則是替換value操作 * 那么返回值就是該key原來對應的value * 若給定的key不存在則返回值為null. */ map.put("攻擊",60); Integer value=map.put("攻速",8); System.out.println(value); // null value=map.put("攻速",6); System.out.println(value); // 8 /* * V get(Object key) * 根據給定的key獲取對應的value * 若給定的key不存在則返回值為null */ value =map.get("攻擊"); System.out.println(value);//60 /* * V remove(Object key) * 刪除當前Map中給定的key所對應的鍵值對 * 返回值為該key對應的value */ value = map.remove("攻擊"); System.out.println(map); System.out.println(value); /* * int size() * 返回Map中的元素個數 */ int size = map.size(); System.out.println(size); /* * 判斷當前Map是否包含給定的key或value */ boolean ck = map.containsKey("攻速"); System.out.println("包含key:"+ck); boolean cv = map.containsValue(96); System.out.println("包含value:"+cv); } }
關于Java中Map的使用方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。