【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源码跟进