首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java基础之判断字符串重复字段及重复次数

问题

随机给出一个字符串,用分号隔开(如 String str = "准备工作;开始之前;开始;开始;完成;准备工作;a;a;b;c;d;c;c";),判断str中出现的重复字段及重复次数

分析

首先将strz转化为数组,对数组进行操作

把数组循环结果放进集合中,进行迭代,对迭代出来的结果进行判断

代码实现

public static String getSameWordAndCount(String str) {

// 把字符串转化为数组

String[] sb = str.split(";");

// 创建一个集合,把数组放到集合中

Map map = new HashMap();

// 创建StringBufferd对象,用来存放重复的字段和次数,可以追加

StringBuffer sbf = new StringBuffer();

for (int i = 0; i

//if (map.containsKey(sb[i])) { // 判断集合中是否存在,如果存在,则value值+1

//map.put(sb[i], map.get(sb[i]) + 1);

//} else {

//map.put(sb[i], 1);// 不存在,则value值默认是1

//}

// 也可以使用三目运算符

map.put(sb[i], map.containsKey(sb[i]) ? map.get(sb[i]) + 1 : 1);

}

// 通过entrySet对map进行迭代取值,对value值进行判断,从而筛选出重复字段和重复次数

Set> entrySet = map.entrySet();

for (Entry entry : entrySet) {

if (entry.getValue() > 1) {

sbf.append("重复字段:" + entry.getKey() + ";重复次数:" + entry.getValue() );

}

}

return sbf.toString();

}

检验结果

public static void main(String[] args) {

String str = "准备工作;开始之前;开始;开始;完成;准备工作;a;a;b;c;d;c;c";

}

输入内容:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190216G149G200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券