JAVA学习第三十八课(常用对象API— Map集合及其常用方法
2014-10-20 21:12
1051 查看
一、Map集合特点
Map集合(双列集合)一次添加一对元素,Collection集合(单列集合)一次添加一个元素
将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
也就是说Map中必须保证键的唯一性
二、常用方法
方法演示
Map和Collection没有关系,所以就不存在迭代器,那如何获取Map中所有key-value对(两种方法)
1.通过ketSet()方法(重点掌握),返回此映射中包含的键的
三步走示意图
2.通过
视图。[/b]
关于Map.Entry<key,value>加强理解
只是一个嵌套而已
3.通过values()方法:返回此映射中包含的值的
Map集合(双列集合)一次添加一对元素,Collection集合(单列集合)一次添加一个元素
接口 Map<K,V>,实际上存储的是键值对
特点:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
也就是说Map中必须保证键的唯一性
二、常用方法
1.添加:value = put(key,value);返回前一个和key相关联的值,如果没有返回null 2.删除:void clear();把Map中的所有映射关系清除 value remove(key):根据指定的key,删除key-value键值对 3.判断: boolean containsKey(key) boolean containsValue(value) boolean isEmpty(); 4.获取:value get(key):通过键获取值,如果没有该键,返回null,也就意味着可以判断Map中没有该建 int size():获取键值对的个数
方法演示
import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer,String>(); method(map); } public static void method(Map<Integer, String> map){//姓名学号 //1.添加 System.out.println(map.put(1,"a")); System.out.println(map.put(1, "b"));//存相同键,值会被覆盖 map.put(3, "c"); map.put(4, "d"); System.out.println(map); //删除 map.remove(3); System.out.println(map); //判断 System.out.println("containsKey:"+map.containsKey(3)); System.out.println("containsValue:"+map.containsValue("d")); //获取 System.out.println("Get:"+map.get(4)); System.out.println("Get:"+map.get(8));//判断8在不是 } }
Map和Collection没有关系,所以就不存在迭代器,那如何获取Map中所有key-value对(两种方法)
1.通过ketSet()方法(重点掌握),返回此映射中包含的键的
Set视图。
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class Main { public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer,String>(); KeySetMehod(map); } public static void KeySetMehod(Map<Integer, String> map){ map.put(1, "a"); map.put(4, "b"); map.put(3, "c"); map.put(5, "d"); //取出map中的所有key-value对,分三步走 //1.通过keySet()得到所有的key所在的Set集合,Set中有迭代器 //2.通过迭代器,获取所以的key //3.通过Map中的get()获取对应的value Set<Integer> keyIntegers = map.keySet(); Iterator<Integer> it = keyIntegers.iterator(); while(it.hasNext()){ Integer key = it.next(); System.out.println("key - value : "+key+" - "+map.get(key)); } } }
三步走示意图
2.通过
[b]entrySet() :返回此映射中包含的映射关系的
Set
视图。[/b]
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class Main { public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer,String>(); KeySetMehod(map); } public static void KeySetMehod(Map<Integer, String> map){ map.put(1, "a"); map.put(4, "b"); map.put(3, "c"); map.put(5, "d"); //映射关系的类型:Map.Entry类型 //Map.Entry<K, V>中的方法 /*boolean equals(Object o) 比较指定对象与此项的相等性。 K getKey() 返回与此项对应的键。 V getValue() 返回与此项对应的值。 int hashCode() 返回此映射项的哈希码值。 V setValue(V value) 用指定的值替换与此项对应的值(可选操作)。 */ Set<Map.Entry<Integer,String>> entry = map.entrySet(); Iterator<Map.Entry<Integer,String>> it = entry.iterator(); while(it.hasNext()){ //it.next是映射关系 Map.Entry<Integer,String> maEntry = it.next(); System.out.println("key - value : "+maEntry.getKey()+" - "+maEntry.getValue()); } } }
关于Map.Entry<key,value>加强理解
interface MMap { public static interface Entry{ void get(); } } class XX implements MMap.Entry {.....}
只是一个嵌套而已
3.通过values()方法:返回此映射中包含的值的
Collection视图。
import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class Main { public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer,String>(); KeySetMehod(map); } public static void KeySetMehod(Map<Integer, String> map){ map.put(1, "a"); map.put(4, "a"); map.put(3, "c"); map.put(5, "d"); Collection<String> cel = map.values(); Iterator<String> it = cel.iterator(); while(it.hasNext()){ String in = it.next(); System.out.println("key - value : "+in); } } }
相关文章推荐
- JAVA学习第三十九课(常用对象API)— Map集合及其子类对象(集合使用技巧)
- JAVA学习第四十课(常用对象API)- Map集合练习
- java基础35 双例集合Map及其常用方法
- 鸟哥Java学习之集合框架--常用对象API
- JAVA学习第三十课(常用对象API)- String类:类方法练习
- JAVA基础学习(十六)--集合三-Map、HashMap,TreeMap与常用API
- JAVA学习第三十七课(常用对象API)— Set集合:TreeSet集合、比较器
- 鸟哥Java学习之集合框架工具类--常用对象API
- Java语言基础-常用对象API(二)泛型、Map集合
- JAVA学习第三十五课(常用对象API)—Vector、LinkedList、ArrayList集合演示
- JAVA基础学习day16--集合三-Map、HashMap,TreeMap与常用API
- JAVA学习第三十六课(常用对象API)— Set集合:HashSet集合演示
- JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API
- 01-常用对象API(集合框架-Map集合特点&常用方法) 02-常用对象API(集合框架-常用方法演示)1 2 3 4
- JAVA学习第三十四课 (常用对象API)—List集合及其子类特点
- Android(java)学习笔记105:Map集合的遍历之键值对对象找键和值
- java学习之路--java对象(1)--重点String类的常用方法
- 16-集合框架-08-常用对象API(集合框架-List集合的常见方法)
- 18-Map集合-07-常用对象API(集合框架-Map集合-HashMap存储自定义对象)
- JAVA学习第三十二课(常用对象API)- 基本数据类型对象包装类