遍历map几种方式及应用
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
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());
? }
?
? //第三種:推薦,尤其是容量大時(shí)
? 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);
? }
{
??? /**
???? * 找出一個(gè)數(shù)組中一個(gè)數(shù)字出現(xiàn)次數(shù)最多的數(shù)字
???? * 用HashMap的key來存放數(shù)組中存在的數(shù)字,value存放該數(shù)字在數(shù)組中出現(xiàn)的次數(shù)
???? * @author?guolz
???? */
??? public static void main(String[] args)
??? {
??????? int[] array = {2, 1, 2, 3, 4, 5, 2, 2, 2, 2};
????????
??????? //map的key存放數(shù)組中存在的數(shù)字,value存放該數(shù)字在數(shù)組中出現(xiàn)的次數(shù)
??????? 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中最大的數(shù)字,也就是數(shù)組中數(shù)字出現(xiàn)最多的次數(shù)
??????? int maxCount = Collections.max(count);
????????
??????? int maxNumber = 0;
????????
??????? for(Map.Entry<Integer, Integer> entry : map.entrySet())
??????? {
??????????? //得到value為maxCount的key,也就是數(shù)組中出現(xiàn)次數(shù)最多的數(shù)字
??????????? if(maxCount == entry.getValue())
??????????? {
??????????????? maxNumber = entry.getKey();
??????????? }
??????? }
????????
??????? System.out.println("出現(xiàn)次數(shù)最多的數(shù)字為:" + maxNumber);
??????? System.out.println("該數(shù)字一共出現(xiàn)" + maxCount + "次");
??? }
}
?
轉(zhuǎn)載于:https://my.oschina.net/u/1054538/blog/624838
總結(jié)
以上是生活随笔為你收集整理的遍历map几种方式及应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 了解JavaScript 对象的属性操作
- 下一篇: 使用Zabbix监控ZooKeeper服