1.3.1Map集合經常使用方法的示例java
//Map集合的應用:存放的都是鍵值對數據結構 public class Test01 {spa public static void main(String[] args) {code Map<String,String>map=new HashMap<>();對象 map.put("a","liwenjie");接口 map.put("b","sangfengjiao");ci map.put("c","wangzhiya");rem map.put("d","mashitian");文檔 //V get(Object key)返回到指定鍵所映射的值.字符串 System.out.println(map.get("a")); //int hashCode();返回此地圖的哈希碼值。 System.out.println(map.hashCode()); //boolean isEmpty()若是此集合爲空,則返回 true 。 System.out.println(map.isEmpty()); //Set<K> keySet();返回此集合中全部的鍵 System.out.println(map.keySet());
//void putAll(Map<? extends K,? extends V> m) //將指定的map集合複製到另一個map集合中(可選操做)。 Map<String,String>map2=new HashMap<>(); map2.putAll(map); System.out.println("==="+map2); //V remove(Object key);返回被移除的元素 // 在集合中根據指定的鍵,刪除指的的值。 System.out.println(map.remove("a")); System.out.println(map); //map集合 的長度 System.out.println(map2.size()); //boolean containsKey(Object key) //若是此映射包含指定鍵的映射,則返回 true 。 System.out.println(map2.containsKey("b"));
//利用for循環 迭代輸出鍵和值 Set<Map.Entry<String,String>>mpp=map2.entrySet(); for(Map.Entry<String,String>ss:mpp){ System.out.println("鍵:"+ss.getKey()+" "+"值:"+ss.getValue()); } } } |
//利用for循環 迭代輸出鍵和值 Entry 鍵值對對象 示例: Set<Map.Entry<String,String>>mpp=map2.entrySet(); for(Map.Entry<String,String>ss:mpp){ System.out.println("鍵:"+ss.getKey()+" "+"值:"+ss.getValue()); } |
示例: //自定義對象的使用 Map<Student,String>map=new HashMap<>(); map.put(new Student("liwenjie",23),"天水市"); map.put(new Student("sangfengjiao",22),"泰安市"); map.put(new Student("wanzhiya",22),"山西市"); map.put(new Student("zhangsan",23),"北京市"); map.put(new Student("zhangsan",23),"北京市"); map.put(new Student("zhangsan",23),"北京市"); //存放自定義對象的時候,必須重寫Hashcode方法和equals方法,才能去掉重重的 Set<Map.Entry<Student,String>>srf=map.entrySet(); for(Map.Entry<Student,String>ss:srf){ System.out.println("鍵:"+ss.getKey()+"值:"+ss.getValue()); } |
HashMap<String,Integer>map=new HashMap<>(); map.put("a",100); map.put("b",200); map.put("c",300); map.put("d",400); map.put("d",400); Set<Map.Entry<String,Integer>>mpp=map.entrySet(); for(Map.Entry<String,Integer> ss:mpp){ System.out.println(ss.getKey()+"=="+ss.getValue()); } |
LinkedHashMap<String,Integer>map=new LinkedHashMap<>(); map.put("a",500); map.put("c",200); map.put("c",200); map.put("d",300); map.put("d",300); map.put("e",400); map.put("f",400); Set<Map.Entry<String,Integer>>mmm=map.entrySet(); for(Map.Entry<String,Integer> ss:mmm){ System.out.println(ss.getKey()+"==="+ss.getValue()); } |
public class Exercise01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("輸入字符串:"); String s = sc.nextLine(); Method(s); } public static void Method(String s){ HashMap<Character,Integer> map =new HashMap<>(); for(int i = 0; i <s.length() ; i++) { //若是不包含的話就添加到集合 if(!map.containsKey(s.charAt(i))){ map.put(s.charAt(i),1); }else{ //包含的話 ,就計入次數 int count = map.get(s.charAt(i)); count++; map.put(s.charAt(i),count); } } System.out.println(map); } } |