1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【java基础】map的基本使用与字符串中每个字符出现的次数统计

【java基础】map的基本使用与字符串中每个字符出现的次数统计

时间:2024-02-15 15:38:35

相关推荐

【java基础】map的基本使用与字符串中每个字符出现的次数统计

Map集合概述和特点

Map集合概述

interface Map<K,V> K:键的类型;V:值的类型

Map集合的特点

键值对映射关系一个键对应一个值键不能重复,值可以重复元素存取无序

Map集合的基本使用

public class MapDemo01 {public static void main(String[] args) {//创建集合对象Map<String,String> map = new HashMap<String,String>();//V put(K key, V value) 将指定的值与该映射中的指定键相关联map.put("赵丽颖","18");map.put("迪丽热巴","28");//输出集合对象System.out.println(map);}}

Map集合的基本功能

public class MapDemo02 {public static void main(String[] args) {//创建集合对象Map<String,String> map = new HashMap<String,String>();//V put(K key,V value):添加元素map.put("赵丽颖","18");map.put("迪丽热巴","28");//V remove(Object key):根据键删除键值对元素// System.out.println(map.remove("迪丽热巴"));//void clear():移除所有的键值对元素// map.clear();//boolean containsKey(Object key):判断集合是否包含指定的键// System.out.println(map.containsKey("赵丽颖"));// System.out.println(map.containsKey("德玛西亚"));//boolean isEmpty():判断集合是否为空// System.out.println(map.isEmpty());//int size():集合的长度,也就是集合中键值对的个数System.out.println(map.size());//输出集合对象System.out.println(map);}}

Map集合的获取功能

public class MapDemo03 {public static void main(String[] args) {//创建集合对象Map<String, String> map = new HashMap<String, String>();//添加元素map.put("赵丽颖","18");map.put("迪丽热巴","28");//V get(Object key):根据键获取值// System.out.println(map.get("赵丽颖"));//Set<K> keySet():获取所有键的集合// Set<String> keySet = map.keySet();// for(String key : keySet) {// System.out.println(key);// }//Collection<V> values():获取所有值的集合Collection<String> values = map.values();for(String value : values) {System.out.println(value);}}}

Map集合的遍历(方式1)

* 步骤分析* 获取所有键的集合。用keySet()方法实现* 遍历键的集合,获取到每一个键。用增强for实现 * 根据键去找值。用get(Object key)方法实现* 代码实现public class MapDemo01 {public static void main(String[] args) {//创建集合对象Map<String, String> map = new HashMap<String, String>();//添加元素map.put("赵丽颖","18");map.put("迪丽热巴","28");//获取所有键的集合。用keySet()方法实现Set<String> keySet = map.keySet();//遍历键的集合,获取到每一个键。用增强for实现for (String key : keySet) {//根据键去找值。用get(Object key)方法实现String value = map.get(key);System.out.println(key + "," + value);}}}

Map集合的遍历(方式2)

* 步骤分析* 获取所有键值对对象的集合* Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合* 遍历键值对对象的集合,得到每一个键值对对象* 用增强for实现,得到每一个Map.Entry* 根据键值对对象获取键和值* 用getKey()得到键* 用getValue()得到值* 代码实现public class MapDemo02 {public static void main(String[] args) {//创建集合对象Map<String, String> map = new HashMap<String, String>();//添加元素map.put("赵丽颖","18");map.put("迪丽热巴","28");//获取所有键值对对象的集合Set<Map.Entry<String, String>> entrySet = map.entrySet();//遍历键值对对象的集合,得到每一个键值对对象for (Map.Entry<String, String> me : entrySet) {//根据键值对对象获取键和值String key = me.getKey();String value = me.getValue();System.out.println(key + "," + value);}}}

统计字符串中每个字符出现的次数

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。