Map集合的基本使用
Map<K,V>集合:存储key-value键值映射关系。
K表示key对象
V表示value对象
Map集合的基本方法:
添加元素:put(K key, V value)
在使用put存储一对元素(key-value)对象时,会先拿key去判断Map集合中是否已经存在。
如果Map集合中没有相同的key存在:就把key-value存储到Map集合中,并返回null值
如果Map集合中有相同的key存在:会把之前存储的value对象覆盖。并返回之前的value对象(旧value对象)
删除元素:remove(Object key)
根据指定的key元素对象去Map集合中元素相应的key-value一对元素。
如果Map集合中有相同的key元素存在:则删除一对key-value对象
如果Map集合中没有指定的key元素存在:没有删除操作,返回null
修改元素:使用put方法
获取元素:get(Object key)
根据指定的key元素对象,去 Map集合获取相应的value对象
如果Map集合中没有指定的key元素存在,则返回null
其它:
boolean containsKey(Object key) 判断Map集合中是否包含指定的key元素存在
boolean containsValue(Object value) 判断Map集合中是否包含指定的value元素存在
size() 获取Map集合中存储的key-value对应关系的个数
* Map集合的功能概述:
* 1:添加功能
* V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲
* 如果键是第一次存储,就直接存储元素,返回null
* 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
* 2:删除功能
* void clear():移除所有的键值对元素
* V remove(Object key):根据键删除键值对元素,并把值返回
* 3:判断功能
* boolean containsKey(Object key):判断集合是否包含指定的键
* boolean containsValue(Object value):判断集合是否包含指定的值
* boolean isEmpty():判断集合是否为空
* 4:获取功能
* Set<Map.Entry<K,V>> entrySet():???
* V get(Object key):根据键获取值
* Set<K> keySet():获取集合中所有键的集合
* Collection<V> values():获取集合中所有值的集合
* 5:长度功能
* int size():返回集合中的键值对的对数
*/
public class MapDemo {
public static void main(String[] args) {
// 创建集合对象
Map<String, String> map = new HashMap<String, String>();
// 添加元素
// V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲
// System.out.println("put:" + map.put("文章", "马伊俐"));
// System.out.println("put:" + map.put("文章", "姚笛"));
map.put("邓超", "孙俪");
map.put("黄晓明", "杨颖");
map.put("周杰伦", "蔡依林");
map.put("刘恺威", "杨幂");
// void clear():移除所有的键值对元素
// map.clear();
// V remove(Object key):根据键删除键值对元素,并把值返回
// System.out.println("remove:" + map.remove("黄晓明"));
// System.out.println("remove:" + map.remove("黄晓波"));
// boolean containsKey(Object key):判断集合是否包含指定的键
// System.out.println("containsKey:" + map.containsKey("黄晓明"));
// System.out.println("containsKey:" + map.containsKey("黄晓波"));
// boolean isEmpty():判断集合是否为空
// System.out.println("isEmpty:"+map.isEmpty());
//int size():返回集合中的键值对的对数
System.out.println("size:"+map.size());
// 输出集合名称
System.out.println("map:" + map);
}
}
Map集合方法介绍
Map集合:keySet()方法
之前讲Mpa集合时,Map集合是用来存储一对key-value两个对象,既然存储的是两个对象,那么能不能只获取其中一个所有对象?
可以。Map集合属于双列集合,里面有两个单列集合。
问题:Map中的key对象,Map应该使用哪个集合存储?
key必须保证唯一性(不能重复),使用Set集合存储。
Map中的keySet方法:获取Map集合中所有的key对象
Map集合:entrySet()方法
Map集合中存储的是一对key-value的映射关系(对应关系 、键值关系)
映射关系:key-value对应关系。
映射关系在底层代码上怎么体现:Map.Entry来存储key-value映射关系
Map集合的entrySet方法:获取Map集合中所有的key-value映射关系
映射关系类型:Map.Entry
map集合:values()方法
之前使用keySet方法可以获取 Map集合中的的所有key对象,而values方法就是获取Map集合中的的所有value对象
Map集合的values对象:获取集合中所有的value
Map集合常用子类
Map集合:
|----Hashtable类:底层使用哈希表结构。存储的key-value不能为null(不能使用null作为key或value的值)。 现被HashMap代替。
|-----Properties类:用来存储key-valur的键值属性集。(IO流中讲解)
可以通过IO流来操作该属性集中的key或value
|----HashMap类:底层使用哈希表结构。存取元素无序、可以存储null(key对象只能有一个null)
|----LinkedHashMap类:底层使用链表+哈希表结构。存取元素有序
|----TreeMap类:底层使用二叉树结构。存储的元素会自动排序。
两种排序:自然排序、比较器排序

530

被折叠的 条评论
为什么被折叠?



