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方法遍历输出所有value
for (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方法遍历输出所有value
for (Object value : map.values()){
String name = (String) value;
//第一种输出方式
System.out.println("value= " + name);
//第二种输出方式
map.forEach(v->Sysetem.out.println(v));
}
}
}