1.Map接口的概述
(1)它是双列集合;
(2)格式:Interface Map<k,v> K:键的类型 V:值得类型
(3)它的每个元素都包含一个键对象Key和值对象Value,并且他们之间存在着一一对一的映射关系;
注:其中键具有唯一性,每一个键只可以映射一个值;
若向集合中添加已存在的键值元素,会覆盖之前存在的键值元素。
2、Map集合的基本功能
向集合中添加元素
map集合中元素使用 void put(Object key ,Object value)方法
eg:
package polish;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;public class Bianli {public static void main(String[] args) {Map map=new HashMap<>() ;map.put("1","justin bieber");map.put("2", "江迟");map.put("3", "周杰伦");
4、Map集合中的四种遍历方法
(1)使用Iterator迭代器
package polish;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;public class Bianli {public static void main(String[] args) {Map map=new HashMap<>() ;map.put("1","justin bieber");map.put("2", "江迟");map.put("3", "周杰伦");//利用set集合获取键的集合Set s=map.keySet();//迭代键的集合Iterator it=s.iterator();//判断集合中是否有元素while(it.hasNext()) {Object key=it.next();//获取每个键所对应的值Object value=map.get(key);System.out.println("key= "+ key + " and value= " + value);}}
}
(2)通过Map.entrySet使用iterator遍历key和value
package polish;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Bianli {public static void main(String[] args) {Map map=new HashMap<>() ;map.put("1","justin bieber");map.put("2", "江迟");map.put("3", "周杰伦");//将map类型的集合转换为set集合类型Set s=map.entrySet();//迭代键的集合-->Iterator <Set> it=s.iterator();Iterator it=s.iterator();//判断集合中是否有元素while(it.hasNext()) {//获取集合中键值对映射关系Map.Entry entry=(Map.Entry) (it.next());//获取Entry中的键Object number=entry.getKey();//获取Entry中的值Object name=entry.getValue();System.out.println("key= "+ number + " and value= " + name);}}
}
(3)使用values方法遍历输出所有value
package polish;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Bianli {public static void main(String[] args) {Map map=new HashMap<>() ;map.put("1","justin bieber");map.put("2", "江迟");map.put("3", "周杰伦");//使用values方法遍历输出所有valuefor (Object value : map.values()){String name = (String) value;System.out.println("value= " + name);}}}
(4)使用foreach二次取值
package polish;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Bianli {public static void main(String[] args) {Map map=new HashMap<>() ;map.put("1","justin bieber");map.put("2", "江迟");map.put("3", "周杰伦");、//使用values方法遍历输出所有valuefor (Object value : map.values()){String name = (String) value;//第一种输出方式System.out.println("value= " + name);//第二种输出方式map.forEach(v->Sysetem.out.println(v));}}}