Java语言-27:Map接口

1、Map接口:

                Map接口是一种双列集合(Collectiom是单列),它的每个元素都包含一个键对象(Key)和一个值(Value)对象,称之为键值对,他们之间的关系是映射关系。从Map集合中访问元素时,找到了Key就能找到对应的Value.

            Map和Collection的区别:

            Map集合:是一种键和值的映射关系(双列集合) 当作为:夫妻对

   Collection集合:单列集合,只能存储一种类型的元素,当作为:光棍

           间接关系:HashSet依赖于Map接口的子实现类HashMap的

              TreeSet依赖于Map接口的子实现类TreeMap的
 


2、Map集合的存储原理:

3、Map集合的方法:(代码表示并实现)

            由于Map接口不能实例化,故引入其子实现类:HashMap,在此处暂且使用,在下一篇中来分析HashMap.

package Map;


import java.util.HashMap;
import java.util.Map;
import java.util.Set;


/*
 * Map接口的功能:
 * 1)V put(K key,V value) :添加功能:将指定的值和键关联起来
 * 如果当前的这个键是一次存储,则返回值null
 * 如果不是第一次存储,返回值是第一次对应的值,当前的值就把之前的键对应的值替换掉!
 *
 *2)获取功能
 * Set<Map.Entry<K,V>> entrySet() :和Map集合的遍历有关系(键值对对象)
 * Set<K> keySet():获取映射关系中所有的键的集合
 * int size()返回此映射中的键-值映射关系数
 * 3)删除功能
 * void clear():删除所有映射关系
 *  Vremove(Object key)如果存在一个键的映射关系,则将其从此映射中移除
 *  
 * 4)判断功能:
 * boolean containsKey(Object key)如果此映射包含指定键的映射关系,则返回 true
 * boolean containsValue(Object value):映射关系中是否包含指定的值
 * boolean isEmpty():判断映射关系是否为空
 * 
 * 
 * */
public class Map_method {


public static void main(String[] args) {
//创建Map集合
Map<String,String>map = new HashMap<String,String>();

// put(K key,V value) :添加功能:将指定的值和键关联起来
/*如果当前的这个键是一次存储,则返回值null
            如果不是第一次存储,返回值是第一次对应的值,当前的值就把之前的键对应的值替换掉!*/
System.out.println(map.put("hello","world")); //输出:Null
System.out.println(map.put("hello","world")); //输出:world

//向集合中添加元素
map.put("hel","java");
map.put("hell","apple");
map.put("h","pees");
map.put("helo","origan");
map.put("hllo","se");



//获取功能
/* Set<Map.Entry<K,V>> entrySet() :和Map集合的遍历有关系(键值对对象)
  Set<K> keySet():获取映射关系中所有的键的集合
  int size()返回此映射中的键-值映射关系数*/

Set<String>set = map.keySet();

/*删除功能:void clear():删除所有映射关系
    Vremove(Object key)如果存在一个键的映射关系,则将其从此映射中移除*/

//删除全部映射关系
// map.clear(); 添加删除功能后则下方无输出元素
//删除指定的映射关系
// map.remove("hllo"); //删除hllo---se

//遍历元素
for(String Key:set){

//通过键找值
String value = map.get(Key) ;
System.out.println(Key+"---"+value);
/*
输出:
helo---origan
hllo---se
h---pees
hello---world
hell---apple
hel---java
可看出,输出无序,且元素唯一。


*/

}


}


}


猜你喜欢

转载自blog.csdn.net/qq_41833394/article/details/80250649