Map集合統計字母次數

2021-07-30 03:59:24 字數 899 閱讀 3457

map集合練習:

"asfefxaacf34vrfdfse2-2asd--wdd"獲取該字串中,每乙個字母出現的次數

要求列印的結果是:a(2)c(1)...;

思路:

對結果分析發現,結果中字母和出現次數之間構成對映關係,而且很多,

很多就需要儲存。能儲存對映關係的有陣列和map集合。

關係中有一方順序固定麼?沒有,所以選有map集合。

又發現可以作為唯一標識的一方有自然順序,即字母表的順序;

所以選有treemap儲存。

集合中最終儲存的是以字母為鍵,以字母出現次數為值的對映關係。

1.因為操作的是字元,所以先把字串轉化成字元陣列。

2.遍歷字元陣列,分別以字母為鍵去map集合中判斷,集合中是否包含該元素,

如果不包含,則以該字母為鍵,以1為值,存入map集合中;

如果包含,則取出該字母對應的值,加一,再把該字母和新的值存入集合,這樣新的值就會覆蓋舊的值。

3.遍歷完畢,每個字母對應的值便是其在該字串中出現的次數,

在對集合進行列印輸出即可。

1

public

class

maptest 9//

定義實現統計字母出現次數的靜態方法

10public

static

string countchar(string str)

24return

printmap(tm);25}

26//

定義按規格列印集合的方法

27private

static string printmap(maptm)

36return

sb.tostring();37}

38 }

使用map統計字元出現次數

用於查詢map中是否包含某個關鍵字條目,傳入的引數是要查詢的key,最後返回乙個迭代器,如果沒有找到,則返回的迭代器等於end 返回的迭代器。include include includeusing namespace std int main 主要有四種,參考 主要使用 map.insert pa...

使用Map統計隨機數出現的次數

使用map統計隨機數出現的次數 題 統計隨機數字出現的次數,以及出現次數最多的數字和次數分別是多少?解答 import j a.util.public class mapcountwords else for map.entryentry map.entryset 計算最大的次數 collectio...

集合框架 Map集合

map集合 同collection,是集合框架中的頂層介面。一次新增一對元素,collection一次新增乙個元素。所有,map集合也稱為雙列集合,collection集合稱為單列集合。介面map key是鍵,value是值,其實map集合中儲存的就是鍵值對,map集合中必須保證鍵的唯一性。常用方法...