java统计Hashmap中的项目数
List<String> keyList = new ArrayList<String>();
keyList.add("2015GeneralAndroid");
keyList.add("2016GeneralAndroid");
keyList.add("2015AdminAndroid");
keyList.add("2015AdminAndroid");
keyList.add("2016AdminAndroid");
keyList.add("2016AdminIOS"};
- 我使用Hashmap来避免重复李>
- 但我需要将2015GeneralAndroid输出为“1”,将2016GeneralAndroid输出为“1”。总数是2李>
当我将参数作为GeneralAndroid传递时,这些输出必须返回,然后输出应该是2
我需要这个输出:
If i submit General then GeneralAndroid = 2. (it should be calulate with per count per year. so Ouput result is 2). If i submit AdminAndroid then AdminAndroid =2. If i submit AdminIOS then AdminIOS=1.
# 1 楼答案
这个答案有点推测性,但假设每个字符串前面都有四位数的年份,并且重复意味着字符串的剩余部分(减去年份)与另一个字符串匹配,那么您可以尝试以下逻辑:
首先,将所有内容添加到集合中:
然后创建一张地图来实际计算:
最后在地图上迭代以获得结果:
# 2 楼答案
我没看到你在使用哈希映射。此外,为了避免重复,可以使用集合
您可以将这些值保存在HashMap中,并使用以下方法获取每个值的计数:
# 3 楼答案
你需要这样做:
# 4 楼答案
在Java8中,您可以按如下方式进行操作
注意,我使用了
Set
来避免重复# 5 楼答案
您可以使用
Stream
轻松解决这个问题:那就叫它: