计算Java中字符串的出现次数

时间:2011-01-23 20:15:53

标签: java string class count

是否有一个好的类可以计算java中特定字符串的出现次数?我想保留一个名单列表,然后为每个名称创建唯一的电子邮件地址。对于姓氏的每次出现,我想将相关联的数字增加一个。

Ex:如果我有3个姓Smith的人,我希望他们的地址是smith1 @(地址),smith2 @(地址)和smith3 @(地址)。我看到了一个“Map”类,但我似乎无法正确初始化它。是否有一个类可以用来保存字符串及其出现的列表?

2 个答案:

答案 0 :(得分:2)

如果您只是想要计算给定姓氏的电子邮件数量,那么

Map将是一个可行的数据结构。键是String(姓氏),值是Integer(出现次数)。

您将其实例化如下:

Map<String, Integer> nameOccurrences = new HashMap<String, Integer>();

要向地图添加值:

nameOccurrences.put("Smith", 1);

检查名称是否在地图中:

if (nameOccurrences.containsKey("Smith")) { ... }

从地图中获取值:

Integer occurrences = nameOccurrences.get("Smith");

请注意,具有不同大小写的名称将被视为不同的键。如果你需要忽略大小写,你必须做一些事情,比如在将键添加到Map之前使键全部大写。

答案 1 :(得分:1)

Bag是您要查找的数据结构。 Multiset是来自google-guava库的Bag实现。