Java19-6 Map

Map:雙列集合 不能擁有重復(fù)的鍵 一次存一對(duì)
添加 v put(); 返回之前的v值 putAll(Map<K,V> map); 如果鍵相同會(huì)出現(xiàn)值覆蓋
刪除 void clear(); v romve();
判斷 boolean containsKey(object); boolean containsValue(object); boolean isEmpty();
獲取 v get(); int size();


public class Map_Test1 {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
     methodMap(map);
    }
    public static void methodMap(Map<Integer,String> map)
    {
        map.put(3,"yusongjiang1");
        System.out.println(map.put(3,"erhu"));//返回之前的v值
        map.put(6,"asdaxcds");
        map.put(2,"zxcdfsadw");
        System.out.println(map);
    }
}

結(jié)果

map取出集合元素中的兩種方式
1、keyset();取出所有鍵并儲(chǔ)存在set集合中 并用map.get();取出集合中的值

//        keySet(); 取出所有的鍵,并存儲(chǔ)到set集合中
        Set<String> keySet=map.keySet();
//        將map轉(zhuǎn)換成Set使用迭代器取出
        for (Iterator<String> iterator = keySet.iterator(); iterator.hasNext(); ) {
            String key = iterator.next();
            String value=map.get(key);
            System.out.println(key+"-----"+value);
        }

2.調(diào)用entrySet();

//emtrySet();Map.Entry;其實(shí)就是一個(gè)Map接口中的一個(gè)內(nèi)部接口

          Set<Map.Entry<String, String>> set=map.entrySet();
        for (Iterator<Map.Entry<String, String>> iterator = set.iterator(); iterator.hasNext(); ) {
            Map.Entry<String, String> next =  iterator.next();
            String key=next.getKey();
            String value=next.getValue();
            System.out.println(key+"....."+value);

        }

例子

public class Map_Test2 {
    public static void main(String[] args) {
        /*取出Map中所有的元素
        * map姓名---歸屬地*/
        Map<String,String> map=new HashMap<>();
        map.put("xiaoqiang","a1");
        map.put("xiaoming","a2");
        map.put("xiaoka","a3");
        map.put("xiaofu","a4");
//        keySet(); 取出所有的鍵,并存儲(chǔ)到set集合中
        Set<String> keySet=map.keySet();
//        將map轉(zhuǎn)換成Set使用迭代器取出
        for (Iterator<String> iterator = keySet.iterator(); iterator.hasNext(); ) {
            String key = iterator.next();
            String value=map.get(key);
            System.out.println(key+"-----"+value);
        }

//emtrySet();Map.Entry;其實(shí)就是一個(gè)Map接口中的一個(gè)內(nèi)部接口

          Set<Map.Entry<String, String>> set=map.entrySet();
        for (Iterator<Map.Entry<String, String>> iterator = set.iterator(); iterator.hasNext(); ) {
            Map.Entry<String, String> next =  iterator.next();
            String key=next.getKey();
            String value=next.getValue();
            System.out.println(key+"....."+value);

        }
    }
}

Map.Entry


圖片

中的Map.Entry為接口內(nèi)部接口

//Map.Entry 內(nèi)部接口類似演示
interface MapEntry{
    public static interface Entry1{}
}
public class Map_EntryDemo implements MapEntry.Entry1 {

}

出現(xiàn)映射關(guān)系時(shí),應(yīng)該考慮使用Map集合

//根據(jù)用戶提供的漢語 返回英文
public class Map_Test4 {
    public static void main(String[] args) {

     String s=getEnWeek("星期三");
        System.out.println(s);
    }
    public static String getEnWeek( String cnweek){
        Map<String,String> map=new HashMap<>();
        map.put("星期一","Monday");
        map.put("星期二","Tuesday");
        map.put("星期三","Wednesday");
        map.put("星期四","Thursday");
        map.put("星期五","Friday");
        map.put("星期六","Saturday");
        map.put("星期日","Sunday");
        return map.get(cnweek);
    }
}

//asdasawdsdwasdwq 獲取字符串中每個(gè)字母出現(xiàn)的次數(shù) 要求結(jié)果格式為 a(2)b(1)c(3)
public class Map_Test5 {
    public static void main(String[] args) {
        String s="asdasawdsdwasdwq";
        String out=sortString(s);
        System.out.println(out);
    }

    private static String sortString(String s) {
        char[] chars=s.toCharArray();
        Map<Character,Integer> map=new HashMap<>();
       /* for (int i = 0; i <chars.length; i++) {
            Integer value=map.get(chars[i]);
           if (value==null){
               map.put(chars[i],1);
           }else {
               System.out.println(value);
               value++;
               map.put(chars[i],value);
           }
        }*/
        for (int i = 0; i <chars.length; i++) {
            Integer value=map.get(chars[i]);
            int count=0;
            if (value!=null){
                count=value;}
                count++;
            map.put(chars[i],count);
        }
        return toString(map);
    }
    private static String toString(Map<Character, Integer> map) {
        StringBuilder sb=new StringBuilder();
         Set<Character> set=map.keySet();
        for (Iterator<Character> iterator = set.iterator(); iterator.hasNext(); ) {
            Character key = iterator.next();
            Integer value=map.get(key);
            sb.append(key+"("+value+")");

        }
        return sb.toString();
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容