Java容器数据类型-HashMap入门使用
lintcode相关练习题
1910 · 数组中出现次数最多的值
描述
在给定的数组中,找到出现次数最多的数字。
出现次数相同时,返回数值最小的数字。
代码:
import java.util.HashMap;
public class Solution {
/**
* @param array: An array.
* @return: An interger.
*/
public int findNumber(int[] array) {
// Write your code here.
int res = 0,cnt = 0;
HashMap<Integer, Integer> countInt = new HashMap<Integer, Integer>();
for (int i = 0; i < array.length; i++) {
if (countInt.containsKey(array[i])) {
countInt.put(array[i],countInt.get(array[i])+1);
} else {
countInt.put(array[i],1);
}
}
for (Map.Entry<Integer, Integer> intEntry : countInt.entrySet()) {
if (cnt < intEntry.getValue()) {
cnt = intEntry.getValue();
res = intEntry.getKey();
} else if (cnt == intEntry.getValue()) {
if (res > intEntry.getKey()) {
res = intEntry.getKey();
}
}
}
return res;
}
}
使用方法
基本类型 | 引用类型 |
---|---|
boolean | Boolean |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
导入工具包
import java.util.HashMap;
初始化声明
HashMap<keyType, valueType> mapName = new HashMap<keyType, valueType>();
添加与修改
mapName.put(key,value);
获取访问
mapName.get(key)
判断存在
mapName.containsKey(targetKey)
删除键对
mapName.remove(key);
键对数量
mapName.size()
获取所有值
mapName.values()
遍历访问
for (Map.Entry<keyType, valueType> entryName : mapName.entrySet()) {
entryName.getValue();
entryName.getKey();
}