Java 统计各字符串元素出现的次数+map的遍历方式

来源:互联网 发布:双色球缩水软件免费版 编辑:程序博客网 时间:2024/06/06 17:04

1.java统计各字符串元素出现的次数
1.将数组中的字符串存入Map中;
2.每次判断map是否为空,如果为空则将目标直接将key为array【i】,value为i存入map中;
3.判断每次存入的key是否已经存在,如果存在相应的value则+1;
4.遍历目标map,输出相应的key value

2.map的遍历方式
map的遍历方式有四种:
第一种: 在for-each循环中使用entry来遍历
eg:

        for (Map.Entry<String, Integer> entry : map.entrySet()) {              System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());          }

第二种:单独遍历keys 或 values

        for (String key:map.keySet()){            System.out.println(key);        }        for(Integer value:map.values()){            //这里使用的函数是map.values()            System.out.println(value);        }

第三种:使用Iterator遍历

        Iterator<Map.Entry<String, Integer>> entries = map.entrySet().iterator();        while(entries.hasNext()){            Map.Entry<String, Integer> entry = entries.next();            System.out.println("key = " + entry.getKey()+",value = "+entry.getValue());        }

第四种 通过键值遍历map

for (Map.Entry<String, Integer> entry : map.entrySet()) {              System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());          }

感觉和第二种很相似

疯狂Java讲义 (p332 第三题)

package MapTest;import java.lang.*;import java.util.*;public class MapTest{    public static void main(String[] args){        String[] array = {"a","b","a","b","c","a","b","c","d","d"};        //System.out.print(array.length);        Map<String,Integer> map = new HashMap<String,Integer>();        for(int i=0;i<array.length;i++){            if(!map.containsKey(array[i])){                map.put( array[i],1);            }else{                map.put(array[i], map.get(array[i])+1);            }        }     /*  for (String key:map.keySet()){            System.out.println(key+"-->"+map.get(key));        }           for (Map.Entry<String, Integer> entry : map.entrySet()) {              System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());          }        for (String key:map.keySet()){            System.out.println(key);        }        for(Integer value:map.values()){            //这里使用的函数是map.values()            System.out.println(value);        }*/        Iterator<Map.Entry<String, Integer>> entries = map.entrySet().iterator();        while(entries.hasNext()){            Map.Entry<String, Integer> entry = entries.next();            System.out.println("key = " + entry.getKey()+",value = "+entry.getValue());        }    }}
原创粉丝点击