java學習中的一些小演算法抽取之位元組數量統計演算法
阿新 • • 發佈:2018-12-02
位元組數量統計演算法
今天在整理一些演算法的程式碼,看到了許多以前學習java時抽取的一些小演算法,在平時也經常用得到,很方便,今天要分享的是位元組數量統計演算法,後面將簡述思路和貼出程式碼。
演算法思想:
首先我們一般得到的是字串str,這時我們可以呼叫java中的toCharArray()方法獲得字串陣列(char[] ch=str.toCharArray());
建立一個map集合,接著遍歷這個陣列,每次判斷map集合中是否存在這個位元組也就是key值(map.containsKey©),若已經存在,則對value進行增1操作,若沒有,則以該位元組為key 存入map 即:map.put(c,1).
思路很簡單,利用了java中map集合的特點,程式碼貼在下面,有需要的可以根據自己的需求進行更改。
package cn.wxxy.algorithm01; import java.util.HashMap; import java.util.Map; import java.util.Scanner; //位元組數量統計演算法 public class ByteStatisticsAlgorithm { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("請輸入字串:"); String str=input.next(); ByteStatistics(str); } private static void ByteStatistics(String str) { char[] ch=str.toCharArray(); Map<Character,Integer> map=new HashMap<>(); for (char c : ch) { if(map.containsKey(c)){//判斷map中是否存在Key值c map.put(c,map.get(c)+1);//如果c在Map中存在 則c所對應的Value加一 } else { map.put(c,1);//Map中不存在c則存入map.put(c,1); } } System.out.println(map); } }
後續會有更多的小演算法或者java基礎知識更新。