发表于: 2020-02-26 17:15:17

1 1186


今天完成的事情:

Map

1.Map简介

键值对的格式

程序开发大部分数据都是键值对形式的

2.<K,V>方法

增:

put(K k, V v);

存入一个键值对类型,K和V都要符合泛型约束

putAll(Map<? extends K, ? extends V> map);

存入另一个Map双边队列,并且要求添加的Map双边对接中的K和V都要和当前Map中存储

的K和V一致

删:

remove(Object k);

删除对应K的键(Key)值(Value)对

改:

put(K k, V v);

对应当前K存在,修改对应内容

查:

int size();

当前Map双边队列中,有效键值对个数

boolean isEmpty();

是否为空

boolean containsKey(Object key);

判断指定的Key是否存在

boolean containsValue(Object value);

判断指定Value是否存在

Set keySet();

返回整个Map双边队列中所有Key对应的Set集合

【注意】一个方法使用set结尾,表示该方法返回的是一个集合类型,大多是情况下都 是Set类型 Collectionvalues(); 返回整个Map双边队列中所有Value对应的Collection集合

【注意】方法名如果是一个复数,返回值类型集合或者是数组情况居多

3.EntrySet

Entry可以认为是键值对对象

格式:

class Entry<K, V> {

K k;

V v;

}

K,V是完全依赖于Map约束的,这里可以Entry里面保存的是每一个键值对类对象

Map中提供的方法:

 Set<Entry<K, V>> entrySet

返回值是键值对类对象Set集合 Set集合中存储的是Entry类型 Entry类型是带有泛型的

实际代码:

HashMap<String, String> map = new HashMap<String, String>();

map.put("吴京", "谢楠");

map.put("邓超", "娘娘");

map.put("黄磊", "孙莉");

map.put("王宝强", "XX");

Set<Map.Entry<String, String>> entrySet = map.entrySet();

System.out.println(entrySet);

最后输出的是 map中的键值对。

4.TreeMap<K, V> 以及Comparable和Comparator

K是需要有对应的比较方式,如果没有比较方式,无法存入。

推荐使用Comparator接口



返回列表 返回列表
评论

    分享到