遍历map几种方式及应用
2019獨角獸企業重金招聘Python工程師標準>>>
Map<String, String> map = new HashMap<String, String>();
? map.put("1", "value1");
? map.put("2", "value2");
? map.put("3", "value3");
?
? //第一種:普遍使用,二次取值
? System.out.println("通過Map.keySet遍歷key和value:");
? for (String key : map.keySet()) {
?? System.out.println("key= "+ key + " and value= " + map.get(key));
? }
?
? //第二種
? System.out.println("通過Map.entrySet使用iterator遍歷key和value:");
? Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
? while (it.hasNext()) {
?? Map.Entry<String, String> entry = it.next();
?? System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
? }
?
? //第三種:推薦,尤其是容量大時
? System.out.println("通過Map.entrySet遍歷key和value");
? for (Map.Entry<String, String> entry : map.entrySet()) {
?? System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
? }
? //第四種
? System.out.println("通過Map.values()遍歷所有的value,但不能遍歷key");
? for (String v : map.values()) {
?? System.out.println("value= " + v);
? }
{
??? /**
???? * 找出一個數組中一個數字出現次數最多的數字
???? * 用HashMap的key來存放數組中存在的數字,value存放該數字在數組中出現的次數
???? * @author?guolz
???? */
??? public static void main(String[] args)
??? {
??????? int[] array = {2, 1, 2, 3, 4, 5, 2, 2, 2, 2};
????????
??????? //map的key存放數組中存在的數字,value存放該數字在數組中出現的次數
??????? HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
????????
??????? for(int i = 0; i < array.length; i++)
??????? {
??????????? if(map.containsKey(array[i]))
??????????? {
??????????????? int temp = map.get(array[i]);
????????????????
??????????????? map.put(array[i], temp + 1);
??????????? }
??????????? else
??????????? {
??????????????? map.put(array[i], 1);
??????????? }
??????? }
????????
??????? Collection<Integer> count = map.values();
????????
??????? //找出map的value中最大的數字,也就是數組中數字出現最多的次數
??????? int maxCount = Collections.max(count);
????????
??????? int maxNumber = 0;
????????
??????? for(Map.Entry<Integer, Integer> entry : map.entrySet())
??????? {
??????????? //得到value為maxCount的key,也就是數組中出現次數最多的數字
??????????? if(maxCount == entry.getValue())
??????????? {
??????????????? maxNumber = entry.getKey();
??????????? }
??????? }
????????
??????? System.out.println("出現次數最多的數字為:" + maxNumber);
??????? System.out.println("該數字一共出現" + maxCount + "次");
??? }
}
?
轉載于:https://my.oschina.net/u/1054538/blog/624838
總結
以上是生活随笔為你收集整理的遍历map几种方式及应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 了解JavaScript 对象的属性操作
- 下一篇: 使用Zabbix监控ZooKeeper服