------- 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.}