HashMap常用方法:
1、put(K key, V value): 将键(key)/值(value)映射存放到Map集合中。
2、get(Object key): 返回指定键所映射的值,没有该key对应的值则返回 null。
3、size(): 返回Map集合中数据数量。
4、clear(): 清空Map集合。
5、isEmpty(): 判断Map集合中是否有数据,如果没有则返回true,否则返回false。
6、remove(Object key): 删除Map集合中键为key的数据并返回其所对应value值。
7、values(): 返回Map集合中所有value组成的以Collection数据类型格式数据。
8、containsKey(Object key): 判断集合中是否包含指定键,包含返回 true,否则返回false。
9、containsValue(Object value): 判断集合中是否包含指定值,包含返回 true,否则返回false。
10、keySet(): 返回Map集合中所有key组成的Set集合。
11、entrySet(): 将Map集合每个key-value转换为一个Entry对象并返回由所有的Entry对象组成的Set集合。
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapDemo01 {
public static void main(String[] args) {
//1:创建集合对象
Map<String,Integer> map = new HashMap<>();//多态形势下研究 通用方法
//2:集合里面当前没有内容
System.out.println("当前集合是不是空的呢?"+map.isEmpty());
//3:添加键值对元素到 集合中
map.put("随便",3);
map.put("鸡胸肉",60);
map.put("全麦面包",30);
map.put("安踏鞋",150);
map.put("随便",4);//修改
//4:查看集合中元素个(对)数
System.out.println("当前集合有:"+map.size()+"对元素");
System.out.println(map);
//5:清空集合--
// map.clear();
// System.out.println(map);
//6:根据键找值 如果找不到 返回null 找到返回对应的值。
System.out.println("全麦面包的价格:"+map.get("全麦面包"));
System.out.println("果酱面包的价格:"+map.get("果酱面包"));
//7:删除
System.out.println("删除随便:"+map.remove("随便"));
System.out.println("删除之后的集合:"+map);
//8:包含 不包含false 包含是true
System.out.println("是否包含随便的键:"+map.containsKey("随便"));
System.out.println("是否包含全麦面包的键:"+map.containsKey("全麦面包"));
System.out.println("是否包含价格为30的商品:"+map.containsValue(30));
//9:获取键集和值集
Set<String> keys = map.keySet();
System.out.println(keys);
Collection<Integer> values = map.values();
System.out.println(values);
//10:从上面方法中选择一下 能不能完成 键值对儿数据的遍历...
keys.forEach(s -> System.out.println(s+"="+map.get(s)));
}
}
遍历Hash中的元素
在Hash中可以直接使用以下方法遍历(所有键)KeySet
然后通过键可以找出需要的值
HashMap<String,String> map = new HashMap<String,String>();
for (String i : map.keySet())
{
//String 是mp中的键的对应类型 i 是对应的KeySet中的每一个键值
System.out.println( map.get(i));
}
//通过迭代器的方式遍历:
Set<Map.Entry<String,String>> set=map.entrySet();
Iterator<Map.Entry<String,String>> it=set.iterator();
while(it.hasNext()){
Map.Entry<String,String> e=it.next();
System.out.println(e);
}