map接口:map<k,v>
k: key钥匙 其中的键。
v:value值 锁里面存的东西。
也叫哈希表、散列表:常用于存键值对结构的数据。其中的键不能重复,值可以重复(建重复会覆盖以前的值)。
特点:1、可以根据键来提取对应的值。 2、键不允许重复,如果重复值会被覆盖。
3、存放的都是无序数据。4、初始容量是16.默认的加载因子是0.75。
Map接口:hashmap实现类、treemap实现类。
HashMap实现类
常用方法HashMap的三种遍历方式
String key = null; String value = null; // 获取键值对的迭代器 Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); key = (String) entry.getKey(); value = (String) entry.getValue(); System.out.println("key:" + key + "---" + "value:" + value);}
String key = null; String value = null; // 获取键集合的迭代器 Iterator it = map.keySet().iterator(); while (it.hasNext()) { key = (String) it.next(); value = (String) map.get(key); System.out.println("key:" + key + "---" + "value:" + value); }
String value = null; // 获取值集合的迭代器 Iterator it = map.values().iterator(); while (it.hasNext()) { value = (String) it.next(); System.out.println("value:" + value); } } }
字符串中的字母统计
public class Test007 { public static void main(String[] args) { // TODO Auto-generated method stub String str = new Scanner(System.in).nextLine(); HashMap<Character, Integer> hashmap = new HashMap<Character, Integer>(); for(int i = 0 ;i<str.length();i++) { char c = str.charAt(i); Integer count = hashmap.get(c); if(count==null) { hashmap.put(c, 1); }else { hashmap.put(c, count+1); } } System.out.println(hashmap); } }