日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2025/5/22 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【java基础】map的基本使用与字符串中每个字符出现的次数统计 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Map集合概述和特點(diǎn)

Map集合概述

  • interface Map<K,V> K:鍵的類型;V:值的類型

Map集合的特點(diǎn)

  • 鍵值對(duì)映射關(guān)系
  • 一個(gè)鍵對(duì)應(yīng)一個(gè)值
  • 鍵不能重復(fù),值可以重復(fù)
  • 元素存取無序

Map集合的基本使用

public class MapDemo01 {public static void main(String[] args) {//創(chuàng)建集合對(duì)象Map<String,String> map = new HashMap<String,String>();//V put(K key, V value) 將指定的值與該映射中的指定鍵相關(guān)聯(lián)map.put("趙麗穎","18");map.put("迪麗熱巴","28");//輸出集合對(duì)象System.out.println(map);}}

Map集合的基本功能

方法名說明
V put(K key,V value)添加元素
V remove(Object key)根據(jù)鍵刪除鍵值對(duì)元素
void clear()移除所有的鍵值對(duì)元素
boolean containsKey(Object key)判斷集合是否包含指定的鍵
boolean containsValue(Object value)判斷集合是否包含指定的值
boolean isEmpty()判斷集合是否為空
int size()集合的長(zhǎng)度,也就是集合中鍵值對(duì)的個(gè)數(shù)
public class MapDemo02 {public static void main(String[] args) {//創(chuàng)建集合對(duì)象Map<String,String> map = new HashMap<String,String>();//V put(K key,V value):添加元素map.put("趙麗穎","18");map.put("迪麗熱巴","28");//V remove(Object key):根據(jù)鍵刪除鍵值對(duì)元素// System.out.println(map.remove("迪麗熱巴"));//void clear():移除所有的鍵值對(duì)元素// 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():集合的長(zhǎng)度,也就是集合中鍵值對(duì)的個(gè)數(shù)System.out.println(map.size());//輸出集合對(duì)象System.out.println(map);}}

Map集合的獲取功能

方法名說明
V get(Object key)根據(jù)鍵獲取值
Set keySet()獲取所有鍵的集合
Collection values()獲取所有值的集合
Set<Map.Entry<K,V>> entrySet()獲取所有鍵值對(duì)對(duì)象的集合
public class MapDemo03 {public static void main(String[] args) {//創(chuàng)建集合對(duì)象Map<String, String> map = new HashMap<String, String>();//添加元素map.put("趙麗穎","18");map.put("迪麗熱巴","28");//V get(Object key):根據(jù)鍵獲取值// 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()方法實(shí)現(xiàn)* 遍歷鍵的集合,獲取到每一個(gè)鍵。用增強(qiáng)for實(shí)現(xiàn) * 根據(jù)鍵去找值。用get(Object key)方法實(shí)現(xiàn)* 代碼實(shí)現(xiàn)public class MapDemo01 {public static void main(String[] args) {//創(chuàng)建集合對(duì)象Map<String, String> map = new HashMap<String, String>();//添加元素map.put("趙麗穎","18");map.put("迪麗熱巴","28");//獲取所有鍵的集合。用keySet()方法實(shí)現(xiàn)Set<String> keySet = map.keySet();//遍歷鍵的集合,獲取到每一個(gè)鍵。用增強(qiáng)for實(shí)現(xiàn)for (String key : keySet) {//根據(jù)鍵去找值。用get(Object key)方法實(shí)現(xiàn)String value = map.get(key);System.out.println(key + "," + value);}}}

Map集合的遍歷(方式2)

* 步驟分析* 獲取所有鍵值對(duì)對(duì)象的集合* Set<Map.Entry<K,V>> entrySet():獲取所有鍵值對(duì)對(duì)象的集合* 遍歷鍵值對(duì)對(duì)象的集合,得到每一個(gè)鍵值對(duì)對(duì)象* 用增強(qiáng)for實(shí)現(xiàn),得到每一個(gè)Map.Entry* 根據(jù)鍵值對(duì)對(duì)象獲取鍵和值*getKey()得到鍵*getValue()得到值* 代碼實(shí)現(xiàn)public class MapDemo02 {public static void main(String[] args) {//創(chuàng)建集合對(duì)象Map<String, String> map = new HashMap<String, String>();//添加元素map.put("趙麗穎","18");map.put("迪麗熱巴","28");//獲取所有鍵值對(duì)對(duì)象的集合Set<Map.Entry<String, String>> entrySet = map.entrySet();//遍歷鍵值對(duì)對(duì)象的集合,得到每一個(gè)鍵值對(duì)對(duì)象for (Map.Entry<String, String> me : entrySet) {//根據(jù)鍵值對(duì)對(duì)象獲取鍵和值String key = me.getKey();String value = me.getValue();System.out.println(key + "," + value);}}}

統(tǒng)計(jì)字符串中每個(gè)字符出現(xiàn)的次數(shù)

* 需求* 鍵盤錄入一個(gè)字符串,要求統(tǒng)計(jì)字符串中每個(gè)字符串出現(xiàn)的次數(shù)。* 舉例:鍵盤錄入“aababcabcdabcde” 在控制臺(tái)輸出:“a(5)b(4)c(3)d(2)e(1)* 代碼實(shí)現(xiàn) public class HashMapDemo {public static void main(String[] args) {//鍵盤錄入一個(gè)字符串Scanner sc = new Scanner(System.in);System.out.println("請(qǐng)輸入一個(gè)字符串:");String line = sc.nextLine();//創(chuàng)建HashMap集合,鍵是Character,值是IntegerTreeMap<Character, Integer> wy = new TreeMap<Character, Integer>();//遍歷字符串,得到每一個(gè)字符for (int i = 0; i < line.length(); i++) {char key = line.charAt(i);//拿得到的每一個(gè)字符作為鍵到HashMap集合中去找對(duì)應(yīng)的值,看其返回值Integer value = wy.get(key);if (value == null) {//如果返回值是null:說明該字符在HashMap集合中不存在,就把該字符作為鍵,1作為值存儲(chǔ)wy.put(key,1);} else {//如果返回值不是null:說明該字符在HashMap集合中存在,把該值加1,然后重新存儲(chǔ)該字符和對(duì)應(yīng)的值value++;wy.put(key,value);}}//遍歷HashMap集合,得到鍵和值,按照要求進(jìn)行拼接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();//輸出結(jié)果System.out.println(result);} }

總結(jié)

以上是生活随笔為你收集整理的【java基础】map的基本使用与字符串中每个字符出现的次数统计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。