map遍历与统计
来源:互联网 发布:苏州整站优化 编辑:程序博客网 时间:2024/06/18 11:23
遍历Map方法一(通过HashMap类实现统计单词出现次数)
要求:通过命令行输入多个单词,单词之间用逗号分开,统计每个单词出现的次数,并把单词和其出现的次数分别打印出来,使用HashMap类实现。
输入单词如下图:
String[] ks = { "11", "22", "33", "44", "55", "44", "33", "11" };Map<String, Integer> map = new HashMap<String, Integer>();for (String s : ks) {if (map.get(s) != null) {map.put(s, map.get(s) + 1);} else {map.put(s, 1);}}System.out.println("统计输出:");for (String s : map.keySet()) {System.out.println("" + s + " : " + map.get(s));}
public class TestMap { 6 public static void main(String[] args) { 7 Map<Integer, String> map = new HashMap<Integer, String>(); 8 map.put(1, "a"); 9 map.put(2, "b");10 map.put(3, "ab");11 map.put(4, "ab");12 map.put(4, "ab");// 和上面相同 , 会自己筛选13 System.out.println(map.size());14 // 第一种:21 System.out.println("第一种:通过Map.keySet遍历key和value:");22 for (Integer in : map.keySet()) {23 24 String str = map.get(in);//得到每个key多对用value的值25 System.out.println(in + " " + str);26 }27 // 第二种:28 System.out.println("第二种:通过Map.entrySet使用iterator遍历key和value:");29 Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();30 while (it.hasNext()) {31 Map.Entry<Integer, String> entry = it.next();32 System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());33 }34 // 第三种:推荐,尤其是容量大时35 System.out.println("第三种:通过Map.entrySet遍历key和value");36 for (Map.Entry<Integer, String> entry : map.entrySet()) {37 //Map.entry<Integer,String> 映射项(键-值对) 有几个方法:用上面的名字entry38 //entry.getKey() ;entry.getValue(); entry.setValue();39 //map.entrySet() 返回此映射中包含的映射关系的 Set视图。40 System.out.println("key= " + entry.getKey() + " and value= "41 + entry.getValue());42 }43 // 第四种:44 System.out.println("第四种:通过Map.values()遍历所有的value,但不能遍历key");45 for (String v : map.values()) {46 System.out.println("value= " + v);47 }48 }49 }
方法一 在for-each循环中使用entries来遍历
这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。
注意:for-each循环在java 5中被引入所以该方法只能应用于java 5或更高的版本中。如果你遍历的是一个空的map对象,for-each循环将抛出NullPointerException,因此在遍历前你总是应该检查空引用。
方法二 在for-each循环中遍历keys或values。
如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。
方法三使用Iterator遍历
使用泛型:
不使用泛型:
0 0
- map遍历与统计
- MAP遍历与小结
- Velocity遍历map与遍历list
- Javascript-遍历each与map
- Map的使用与遍历
- map的遍历与删除
- Map的比较与遍历
- map 遍历key 与 value
- Map遍历与删除元素
- leetcode 554. Brick Wall 使用Map遍历统计
- Map的遍历:keySet与entrySet
- java与freemarker中map的遍历
- java_spring_List,Map,Properties,Set注入与遍历
- Qt QMap与std map的遍历
- ava map的使用与遍历
- java map的使用与遍历
- java与freemarker中map的遍历
- freemaker中list与map的遍历
- kaldi中的深度神经网络
- Android学习笔记8--ListView使用
- 创业者该如何与投资机构打交道?
- 矩阵的操作
- 跟着斯坦福白胡子老头学自定义UIView动画(附iOS10 Swift代码)
- map遍历与统计
- iOS动画-定时对UIView进行翻转和抖动
- angularJS1 ng-disabled控制元素是否禁用
- Android Studio获取SHA1和MD5的方法
- 被投资人拒绝后该怎么办?
- 新发现的学习网站:实验楼
- freeline使用笔记
- php-常用函数
- AOP 之 6.2 AOP的HelloWorld ——跟我学spring3