Map笔记
概述与使用
interface Map<K,V> k:键的类型; v:键的值
将键映射到值的对象;
不能包含重复的值;
每个键可以映射到最多一个值
常用函数
put()
remove()
clear()
containsKey()
containsValue()
isEmpty()
size()
获取函数
V get(key)
Set<K> keySet()
Collection<V> values()
Set<Map.Entry<K,V>> entrySet()
两种遍历方法
Set<String> keyset=map.keySet();
for(String key:keyset) {
String value=map.get(key);
System.out.println(key+","+value);
/
Set<Map.Entry<String, String>> entry=map.entrySet();
for( Map.Entry<String, String> key:entry) {
String key1=key.getKey();
String value=key.getValue();
System.out.println(key1+","+value);
}
例子1——Hashmap存储学生对象并遍历
例子2——Hashmap存储学生对象(此时键为学生,值为住址)并遍历
自动生成Hashcode()和Equals()
在自定类中,选择左上方source->Generate hashcode() and equals()
例子3——ArrayList集合存储HashMp元素并遍历
1 创建ArrayList集合
2 创建HashMap集合,并添加键值对元素
3 把HashMap作为元素添加到ArrayList集合
4 遍历ArrayList集合
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<HashMap<String,String>> arr=new ArrayList<HashMap<String,String>>();
HashMap<String,String> h1=new HashMap<String,String>();
h1.put("Jacky", "26");
h1.put("Nina", "23");
HashMap<String,String> h2=new HashMap<String,String>();
h2.put("Davy", "26");
h2.put("Bonnie", "25");
HashMap<String,String> h3=new HashMap<String,String>();
h2.put("Matt", "26");
h2.put("Rose", "25");
arr.add(h1);
arr.add(h2);
arr.add(h3);
for (HashMap<String,String> h:arr) {
Set<Map.Entry<String, String>> entry=h.entrySet();
for( Map.Entry<String, String> key:entry) {
String key1=key.getKey();
String value=key.getValue();
System.out.println(key1+", "+value);
}
}
统计字符串中每个字符出现的次数
键盘录入一个字符串
创建HashMap集合,键是Char,值是int
遍历字符串,得到每一个字符
拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值