一、Map
* collection和Map的区别?
* collection每次存储一个元素,Set集合是不可重复,List集合是可重复。
* Map集合每次存储两个元素,键不可重复,值可重复。
* Map接口中的方法:
* 添加功能:
* V put(K key, V value):当键第一次存储返回null,接下来每一次存储返回上一次的值。
* 删除功能:
* void clear()
* V remove(Object key):根据键删除键值对,返回值。
* 获取功能:
* Set<Map.Entry<K,V>> entrySet():得到的是每一组键值对,存放在一个Set集合中。
* Set<K> keySet():得到所有的键
* Collection<V> values():得到所有的值
* V get(Object key):根据键得到值。
* int size():获取集合中总共几对元素。
* 判断功能:
* boolean containsKey(Object key):是否包含指定的key
* boolean containsValue(Object value):是否包含指定的value
* boolean isEmpty():集合是否为空
二、 Map集合遍历方式1:
* 1.得到所有的键存放在Set集合中 -- keySet()
* 2.遍历键所在的集合,得到每一个键
* 3.通过当前的键得到对应的值
代码:
Set<泛型> keys = 集合名.keySet();
for(泛型 key: keys){
值的数据类型 value = 集合名.get(key);
}
* Map遍历第二种方式:
* 1.拿到每一个键值对存储在集合中
* 2.遍历键值对所在的集合,拿到每一组键值对
* 3.通过该键值对,获取键,获取值
代码:
Map<String, String> map = new HashMap<String, String>();
Set<Map.Entry<String, String>> entrys = map.entrySet();
for(Map.Entry<String, String> entry:entrys){
//K getKey():返回与此项对应的键。
//V getValue():返回与此项对应的值。
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+" "+value);
}
三、HashMap
注:使用HashMap集合存储键值对,自定义对象作为键,需要在类中覆盖hashCode()和equals()方法。
* HashMap和Hashtable的区别?
* HashMap可以存储null键和null值,线程不安全,效率高
* Hashtable不可以存储null键和null值,线程安全,效率低
————————————————
版权声明:本文为CSDN博主「qq_58849698」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_58849698/article/details/118535454