keySet
Entry键值对对象
Entry是map的一个内部接口,当map一创建,那么就会在map集合中创建一个entry对象,用来记录键值对对象(键值的映射关系)
map的各种遍历
public static void main(String[] args) {
Map<String,String> map=new HashMap<>();
map.put("1","aa");
map.put("2","b");
Set<String> keys = map.keySet();
Iterator<String> iterator = keys.iterator();
if(iterator.hasNext()){
String key = iterator.next();
String value=map.get(key);
}
for (String key:keys) {
String value = map.get(key);
}
Set<Map.Entry<String, String>> entries = map.entrySet();
Iterator<Map.Entry<String, String>> iterator1 = entries.iterator();
if(iterator1.hasNext()){
Map.Entry<String, String> next = iterator1.next();
String key = next.getKey();
String value = next.getValue();
}
for ( Map.Entry<String, String> set:entries) {
String key = set.getKey();
String value = set.getValue();
}
}
HashTable
练习;
计算一个字符串中每个字符出现的次数。
public static void main(String[] args) {
String s="abcbsbcbdbssb";
char[] chars = s.toCharArray();
Map<Character,Integer> map=new HashMap<>();
for (int i = 0; i < chars.length; i++) {
if(map.containsKey(chars[i])){
map.put(chars[i],map.get(chars[i])+1);
}else{
map.put(chars[i],1);
}
}
for (Character key:map.keySet()) {
Integer value = map.get(key);
System.out.println("字符"+key+"出现了"+value+"次");
}
}
jdk9的新特性