【java基础】map的基本使用与字符串中每个字符出现的次数统计
生活随笔
收集整理的这篇文章主要介绍了
【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集合的基本功能
| V put(K key,V value) | 添加元素 |
| V remove(Object key) | 根据键删除键值对元素 |
| void clear() | 移除所有的键值对元素 |
| boolean containsKey(Object key) | 判断集合是否包含指定的键 |
| boolean containsValue(Object value) | 判断集合是否包含指定的值 |
| boolean isEmpty() | 判断集合是否为空 |
| int size() | 集合的长度,也就是集合中键值对的个数 |
Map集合的获取功能
| V get(Object key) | 根据键获取值 |
| Set keySet() | 获取所有键的集合 |
| Collection values() | 获取所有值的集合 |
| Set<Map.Entry<K,V>> entrySet() | 获取所有键值对对象的集合 |
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);} }总结
以上是生活随笔为你收集整理的【java基础】map的基本使用与字符串中每个字符出现的次数统计的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【工具类】时间相关的方法
- 下一篇: 【源码解析】hashMap源码跟进