企业网站建设的基本原则,钓鱼网站的类型,泌阳网站建设,广西城市网概念#xff1a;
现实生活中#xff0c;我们常会看到这样的一种集合#xff1a;IP地址与主机名#xff0c;身份证号与个人#xff0c;系统用户名与系统用户对象等#xff0c;这种一一对应的关系#xff0c;就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对…概念
现实生活中我们常会看到这样的一种集合IP地址与主机名身份证号与个人系统用户名与系统用户对象等这种一一对应的关系就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象即java.util.Map接口它是所有双列集合的父接口用来储存键值对。 需要注意的是Map中的集合不能包含重复的键值可以重复每个键只能对应一个值 。
Map接口的常用实现类
HashMapK,V存储数据采用的哈希表结构元素的存取顺序不能保证一致。由于要保证键的唯一、不重复需要重写键的hashCode()方法、equals()方法。LinkedHashMapK,VHashMap下有个子类LinkedHashMap存储数据采用的哈希表结构链表结构。通过链表结构可以保证元素的存取顺序一致通过哈希表结构可以保证的键的唯一、不重复需要重写键的hashCode()方法、equals()方法。
Map接口中定义了很多方法常用的如下
public V put(key,value) : 把指定的键与指定的值添加到Map集合中。public V remove(key): 把指定的键 所对应的键值对元素 在Map集合中删除返回被删除元素的值。public V get(key):根据指定的键在Map集合中获取对应的值。boolean containskey(object key):判断集合中是否包含指定的键。public SetK keySet(): 获取Map集合中所有的键存储到Set集合中。public SetMap.Entryk,v entrySet(): 获取到Map集合中所有的键值对对象的集合(Set集合)。public V getkey()获取Entry对象中的键。public V getvalue()获取Entry对象中的值。
使用put方法时若指定的键(key)在集合中没有则没有这个键对应的值返回null并把指定的键值添加到集合中
若指定的键(key)在集合中存在则返回值为集合中键对应的值该值为替换前的值并把指定键所对应的值替换成指定的新值。
Map集合遍历
Map集合遍历键值方式
public class MapDemo01 {public static void main(String[] args) {//创建Map集合对象 HashMapString, String map new HashMapString,String();//添加元素到集合 map.put(胡歌, 霍建华);map.put(郭德纲, 于谦);map.put(薛之谦, 大张伟);//获取所有的键 获取键集SetString keys map.keySet();// 遍历键集 得到 每一个键for (String key : keys) {//key 就是键//获取对应值String value map.get(key);System.out.println(key的CP是value);} }
}
Map集合遍历键值对方式
public class MapDemo02 {public static void main(String[] args) {// 创建Map集合对象 HashMapString, String map new HashMapString,String();// 添加元素到集合 map.put(胡歌, 霍建华);map.put(郭德纲, 于谦);map.put(薛之谦, 大张伟);// 获取 所有的 entry对象 entrySetSetEntryString,String entrySet map.entrySet();// 遍历得到每一个entry对象for (EntryString, String entry : entrySet) {// 解析 String key entry.getKey();String value entry.getValue(); System.out.println(key的CP是:value);}}
}
tipsMap集合不能直接使用迭代器或者foreach进行遍历。但是转成Set之后就可以使用了。