Skip to content

Latest commit

 

History

History
82 lines (63 loc) · 2.15 KB

12. HashMap Store.md

File metadata and controls

82 lines (63 loc) · 2.15 KB

12. HashMap Store

给定一个字符串,求出字符串中每一个单词在字符串中出现的次数

package com.alexanderli95.map;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;


/**
 * 将字符串分割成单词,存储到map中,并分拣
 * map:key-String
 *      Value-Letter
 * 分拣思路:
 * 1.为所有Key创建容器,之后容器中存放对应Value
 * 2.第一次创建容器并存放Value,第二次之后直接用容器存放值
 */
public class Demo01 {
    public static void main(String[] args) {
        String str="1 2 3 4 5 6 7 8 9 0 1 2 3";

        //分割字符串
        String[] words=str.split(" ");
        //存放到Map中
        Map<String,Letter> letters=new HashMap<String,Letter>();

        for(String s:words){
            //思路2
            if(!letters.containsKey(s)){
                Letter col=new Letter();
                col.setCount(1);
                letters.put(s,col);
            }else{
                Letter col=letters.get(s);
                col.setCount(col.getCount()+1);
            }

            //输出Map的值
            Set<String> keys=letters.keySet();
            for(String key:keys ){
                Letter col=letters.get(key);
                System.out.println("单词:"+key+",次数"+col.getCount());
            }

        }
    }

    public static void test01(){
        String str="1 2 3 4 5 6 7 8 9 0 1 2 3";

        //分割字符串
        String[] words=str.split(" ");
        //存放到Map中
        Map<String,Letter> letters=new HashMap<String,Letter>();

        for(String s:words){
            //思路1
            if(!letters.containsKey(s)){
                letters.put(s,new Letter());   //创建了一个空的容器
            }

            Letter col=letters.get(s);
            col.setCount(col.getCount()+1);
        }

        //输出Map的值
        Set<String> keys=letters.keySet();
        for(String key:keys ){
            Letter col=letters.get(key);
            System.out.println("单词:"+key+",次数"+col.getCount());
        }
    }
}