编写java程序,统计某个数组中每个单词出现的次数

 我来答
帆船不用风全靠浪
2016-07-04 · TA获得超过189个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:61.6万
展开全部

public static void main(String[] args) {

String[] arr = {"ab","ab","ab","ac","ab","ac","ds","sdf","sdf","sdf","sdf","sdf","sdf","sdf"};

//创建map  key保存字符串   value 保存出现的次数

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

for (int i = 0; i < arr.length; i++) {//循环数组

if(map.containsKey(arr[i])){//判断如果key中已存在该字符串

map.put(arr[i], map.get(arr[i])+1);//value值 加一次(多出现一次)

}else{

map.put(arr[i], 1);//如果该字符串没有出现 map新保存一组数据  出现次数为1次

}

}

//循环结束

//迭代map

Set<String> set = map.keySet();

Iterator<String>  it = set.iterator();//iterator迭代器

while (it.hasNext()) {

String key = (String) it.next();

System.out.println(key+"出现的次数为"+"   "+map.get(key)+"次");

}

}

控制台输出结果

生活he家
推荐于2017-09-13 · 一个属于大家的搬运工
生活he家
采纳数:1536 获赞数:6828

向TA提问 私信TA
展开全部
可以用map进行统计,单词作为key出现的次数作为value
追问
想要具体的程序,急!!!
追答
已经有人给出了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-07-04
展开全部
publicstaticvoidmain(String[]args){intarray[]={5,10,10,5,2,5,3,5,10,5,2,5,5,10,1,5,1};Arrays.sort(array);//给数组排序intcount=0;inttmp=array[0];Mapmap=newHashMap();for(inti=0;ikey=map.keySet();for(Iteratorit=key.iterator();it.hasNext();){Integers=(Integer)it.next();System.out.println(s+"出现了"+map.get(s));}}publicstaticMapsortByValue(Mapmap){Listlist=newLinkedList(map.entrySet());Collections.sort(list,newComparator(){//将链表按照值得从小到大进行排序publicintcompare(Objecto1,Objecto2){return((Comparable)((Map.Entry)(o2)).getValue()).compareTo(((Map.Entry)(o1)).getValue());}});Mapresult=newLinkedHashMap();for(Iteratorit=list.iterator();it.hasNext();){Map.Entryentry=(Map.Entry)it.next();result.put(entry.getKey(),entry.getValue());}returnresult;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang747572367
2016-07-04 · TA获得超过162个赞
知道小有建树答主
回答量:350
采纳率:75%
帮助的人:112万
展开全部
用map就可以啊,key作为单词,value作为出现的次数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yesidp
2017-09-13
知道答主
回答量:2
采纳率:0%
帮助的人:2100
引用kkandx0的回答:
public static void main(String[] args) {
String[] arr = {"ab","ab","ab","ac","ab","ac","ds","sdf","sdf","sdf","sdf","sdf","sdf","sdf"};
//创建map key保存字符串 value 保存出现的次数
Map<String,Integer> map = new HashMap<String, Integer>();
for (int i = 0; i < arr.length; i++) {//循环数组
if(map.containsKey(arr[i])){//判断如果key中已存在该字符串
map.put(arr[i], map.get(arr[i])+1);//value值 加一次(多出现一次)
}else{
map.put(arr[i], 1);//如果该字符串没有出现 map新保存一组数据 出现次数为1次
}
}
//循环结束
//迭代map
Set<String> set = map.keySet();
Iterator<String> it = set.iterator();//iterator迭代器
while (it.hasNext()) {
String key = (String) it.next();
System.out.println(key+"出现的次数为"+" "+map.get(key)+"次");
}
}
控制台输出结果

展开全部
// 遍历集合
Set<String> keys = map.keySet();
for (String key : keys) {
System.out.println(key+"="+map.get(key));
}
foreach遍历即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式