黑马程序员---Map集合

------- android培训java培训、期待与您交流! ---------
 

1. Map集合
 
  映射,键映射到值的集合,Map体系的集合,存储对象的时候,一次存储两个对象,一个称作键,一个称作值,双列集合
 
l 一个键,最多只能映射一个值
 
l 不允许出现重复键
 
2. Map接口中的方法
 

 

 V put(K,V) 将键值对存储到集合。返回值,存储了重复的键,返回被覆盖之间的值
 
 V get(K) 根据键,获取值,传递一个键,返回键映射的值,没有这个键,返回null
 
V remove(K)移除指定的键,对应的值,返回被移除前的值,没有移除成功,返回null
 
boolean containsKey(K)判断集合中,有没有这个键,有返回true
 
boolean containsValue(V)判断集合中个,有没有这个值,有返回true
 
Collection values()将集合中的所有值,保存到Collection集合
 
Set<K> keySet()键存储到Set集合
 
Set<Map.Entry<K,V>>映射关系对象保存到Set集合
 

 
 
3. 获取Map集合中键值对的方式
 
第一种,利用Map中的一个方法keySet(),Map集合中的键,存储到Set集合
 
迭代Set集合,获取出来的是所有的键
 
通过键获取值,Map接口中的get方法
 
 
 
第二种利用Map集合中的键值对映射关系获取
 
Map接口中有一个方法entrySet(),获取键值对的映射关系对象Entry,将这个对象Entry存储到了Set集合
 
迭代Set集合,获取出来的Set集合中存储的是映射关系对象Entry
 
通过关系对象的方法 getKey  getValue
 
 
 
4. Map中接口中,有一个子接口
 
 interface Map{
 
    interface Entry{}描述键值对映射关系的
 
    Entry接口中的两个方法 getKey()  getValue()
 
    Entry -- 结婚证  getKey()获取键  getValue()获取值
 
 }
 
5. HashMap类
 
  底层也是哈希表,允许存储null值,null键
 
  不同步,线程不安全,执行效率高
 
  保证:存储到HashMap集合中的键,唯一性
 
  自定义对象,保证唯一性,hashCode equals方法
 
  HashMap存储自定义对象,当作键,两种方式获取

 

 

代码如下:

 

01./* 
02. * Map集合的获取方式 
03. */  
04.import java.util.*;  
05.public class GenericDmeo {  
06.    public static void main(String[] args) {  
07.        method_2();  
08.    }  
09.    //第二种entrySet()方法,不常用,但是面试常见  
10.    public static void method_2(){  
11.        Map<String , Integer> map=new HashMap<String, Integer>();  
12.        map.put("f", 12);  
13.        map.put("r", 33);  
14.        map.put("w", 23);  
15.        map.put("b", 7);  
16.        map.put("i", 62);  
17.        //使用Map接口方法entrySet,获取键值对映射关系对象Entry,对象存储到Set集合  
18.        Set<Map.Entry<String , Integer>> set=map.entrySet();  
19.        //迭代器,迭代Set集合  
20.        Iterator<Map.Entry<String , Integer>> it=set.iterator();  
21.        while(it.hasNext()){  
22.            //it.next()取出来的是键值对映射关系对象Map.Entry  
23.            Map.Entry<String, Integer> me=it.next();  
24.            //利用键值对映射关系对象中的方法getKey(),getValue()获取键和值  
25.            String key=me.getKey();  
26.            Integer vlaue=me.getValue();  
27.            System.out.println(key+"..."+vlaue);  
28.        }  
29.    }  
30.    //第一种keySet()方法,开发中常用  
31.    public static void method_1(){  
32.        Map<String,Integer> map=new HashMap<String ,Integer>();  
33.        map.put("a", 5);  
34.        map.put("s", 9);  
35.        map.put("d", 1);  
36.        map.put("f", 3);  
37.        map.put("g", 7);  
38.        //调用map接口中的keySet方法,将键存储到Set集合  
39.        Set<String> set=map.keySet();  
40.        //迭代Set方法  
41.        Iterator<String> it=set.iterator();  
42.        while (it.hasNext()){  
43.            String key=it.next();  
44.            Integer value=map.get(key);  
45.            System.out.println(key+"..."+value);  
46.        }  
47.    }  
48.}  

 

 


------- android培训java培训、期待与您交流! --------- 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值