您好,登錄后才能下訂單哦!
這篇文章給大家介紹JAVA中Map和Set的作用是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
一:模型
一般把搜索的數據稱為關鍵字(Key),和關鍵字對應的稱為值(Value),所以模型會有兩種:
純 key 模型,即 Set 要解決的事情,只需要判斷關鍵字在不在集合中即可,沒有關聯的 value;
Key-Value 模型,即 Map 要解決的事情,需要根據指定 Key 找到關聯的 Value。
因為Map<K,V>中的K允許重復,進而Set中的元素不允許重復。
二:Map和Set的常用方法
Map中的常用方法和對應的解釋:`` V get(Object key) //返回 key 對應的 value V getOrDefault(Object key, V defaultValue) //返回 key 對應的 value,key 不存在,返回默認值 V put(K key, V value) //設置 key 對應的 value V remove(Object key) //刪除 key 對應的映射關系 Set<K> keySet() //返回所有 key 的不重復集合 Collection<V> values() //返回所有 value 的可重復集合 Set<Map.Entry<K, V>> entrySet() //返回所有的 key-value 映射關系 boolean containsKey(Object key) //判斷是否包含 key boolean containsValue(Object value) //判斷是否包含value
Set中常用的方法及對應的解釋: boolean add(E e) //添加元素,但重復元素不會被添加成功 void clear() //清空集合 boolean contains(Object o) //判斷 o 是否在集合中 Iterator<E> iterator() //返回迭代器 boolean remove(Object o) //刪除集合中的 o
三:代碼示例
(1)Map接口的代碼展示常用方法的實現思路: import java.util.HashMap; import java.util.Map; public class TestDemo { public static void main(String[] args) { Map<Integer,String> map = new HashMap<>() ; map.put(1,"hello") ; // key重復 map.put(1,"Hello") ; map.put(3,"Java") ; map.put(2,"Bye") ; System.out.println(map) ; // 根據key取得value System.out.println(map.get(2)); // 查找不到返回null System.out.println(map.get(99)); // 打印所有的 key for (Integer key : map.keySet()) { System.out.println(key); } // 打印所有的 value for (String value : map.values()) { System.out.println(value); } // 按 key-value 映射關系打印 for (Map.Entry<Integer, String> entry : map.entrySet()) { System.out.println(entry.getKey() + " = " + entry.getValue()); } } }
(2)Set接口的代碼展示常用方法的實現思路: import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class TestDemo { public static void main(String[] args) { Set<String> set = new HashSet<>() ; set.add("Hello"); // 重復元素 set.add("Hello"); set.add("Bye"); set.add("Hello"); set.add("Java"); System.out.println(set); Iterator<String> it = set.iterator(); while (it.hasNext()) { System.out.println(it.next()); } } }
關于JAVA中Map和Set的作用是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。