Your host does not meet minimum requirements to run VMware workstation with hyper-v or device/creden
阿新 • • 發佈:2020-10-12
目錄
Map父介面
特點:儲存一對資料(Key-Value),無序、無下標,鍵不可重複,值可重複。
定義:public interface Map<K,V>
方法:
V put(K key,V value) //將物件存入到集合中,關聯鍵值。key重複則覆蓋原值。 Object get(Object key) //根據鍵獲取對應的值 Set<K> keySet() //返回所有的key Collection<V> values() //返回包含所有值的Collection Set<Map.Entry<K,V>> entrySet() //返回此對映中包含的對映關係的 Set 檢視。
HashMap
/** * Map集合的使用 * 特點:儲存鍵值對;鍵可以重複,值不可以重複;無序 * HashMap: * jdk1.2版本,執行緒不安全,執行效率快;允許用null作為key或是value */ public class Map1 { public static void main(String[] args) { //建立集合 Map<String,String> map = new HashMap<>(); //新增元素 map.put("cn","中國"); map.put("uk","英國"); map.put("usa","美國"); map.put("cn","zhongguo");//已經存在鍵為"cn"的值了,會把原來的值覆蓋掉 System.out.println(map); //判斷 System.out.println(map.containsKey("cn"));//判斷是否存在key System.out.println(map.containsValue("中國"));//判斷是否存在value //刪除元素 // String usa = map.remove("usa");//會返回刪除key所對應的value,key不存在返回null // System.out.println("刪除了:"+usa); // boolean removed = map.remove("uk", "英國");//會返回是否刪除成功 // System.out.println("刪除成功:"+removed); //遍歷 //方法一 獲取key的set集合,使用迭代器 // Set<String> keySet = map.keySet(); // Iterator<String> keyIterator = keySet.iterator(); // while (keyIterator.hasNext()){ // String key = keyIterator.next(); // String value = map.get(key); // System.out.println(key+"---"+value); // } //方法二 獲取key的set集合,使用增強for // Set<String> keySet = map.keySet(); // for (String key : keySet) { // System.out.println(key+"---"+map.get(key)); // } //方法三 獲取map的Entry組成的Set集合,然後使用迭代器遍歷 // Set<Map.Entry<String, String>> entrySet = map.entrySet(); // Iterator<Map.Entry<String, String>> entryIterator = entrySet.iterator(); // while (entryIterator.hasNext()){ // Map.Entry<String, String> entry = entryIterator.next(); // String key = entry.getKey(); // String value = entry.getValue(); // System.out.println(key+"---"+value); // } //方法四 獲取map的Entry組成的Set集合,然後使用迭代器遍歷 Set<Map.Entry<String, String>> entrySet = map.entrySet(); for (Map.Entry<String, String> entry : entrySet) { String key = entry.getKey(); String value = entry.getValue(); System.out.println(key+"---"+value); } } }
執行結果
{usa=美國, uk=英國, cn=zhongguo}
true
false
usa---美國
uk---英國
cn---zhongguo
HashMap判斷重複的方式和HashSet是一樣的,都是判斷元素(key)的hashCode
和equals
是否相同。存入HashMap的元素在重寫這兩個方法。