当前位置: 代码迷 >> 综合 >> java hashmap 入门
  详细解决方案

java hashmap 入门

热度:54   发布时间:2023-10-10 21:58:13.0
package com.itheima_06;import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;/*需求:键盘录入一个字符串,要求统计字符串中每个字符串出现的次数。举例:键盘录入“aababcabcdabcde”	在控制台输出:“a(5)b(4)c(3)d(2)e(1)”思路:1:键盘录入一个字符串2:创建HashMap集合,键是Character,值是Integer3:遍历字符串,得到每一个字符4:拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值如果返回值是null:说明该字符在HashMap集合中不存在,就把该字符作为键,1作为值存储如果返回值不是null:说明该字符在HashMap集合中存在,把该值加1,然后重新存储该字符和对应的值5:遍历HashMap集合,得到键和值,按照要求进行拼接6:输出结果*/
public class HashMapDemo {public static void main(String[] args) {//键盘录入一个字符串Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");String line = sc.nextLine();//创建HashMap集合,键是Character,值是Integer
//        HashMap<Character, Integer> hm = new HashMap<Character, Integer>();TreeMap<Character, Integer> hm = new TreeMap<Character, Integer>();//遍历字符串,得到每一个字符for (int i = 0; i < line.length(); i++) {char key = line.charAt(i);//拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值Integer value = hm.get(key);if (value == null) {//如果返回值是null:说明该字符在HashMap集合中不存在,就把该字符作为键,1作为值存储hm.put(key,1);} else {//如果返回值不是null:说明该字符在HashMap集合中存在,把该值加1,然后重新存储该字符和对应的值value++;hm.put(key,value);}}//遍历HashMap集合,得到键和值,按照要求进行拼接StringBuilder sb = new StringBuilder();Set<Character> keySet = hm.keySet();for(Character key : keySet) {Integer value = hm.get(key);sb.append(key).append("(").append(value).append(")");}String result = sb.toString();//输出结果System.out.println(result);}
}
package mapdemo;import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
import java.util.TreeMap;public class chongfujisuan {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入字符串:");String s = sc.nextLine();// HashMap<Character,Integer> hm = new HashMap<>();TreeMap<Character,Integer> hm = new TreeMap<>();for(int i = 0;i<s.length();i++){char key = s.charAt(i);Integer value = hm.get(key);if(value == null){hm.put(key,1);}else{value++;hm.put(key,value);}}StringBuilder sb = new StringBuilder();Set<Character> keySet = hm.keySet();for (Character key : keySet){// System.out.println(key+"--"+hm.get(key));Integer value = hm.get(key);sb.append(key).append("(").append(value).append(")");}String s1 = sb.toString();System.out.println(s1);}
}