Map接口 <Java学习笔记>
- Map接口的简介:
Map是一个映射集合,每个元素包含一个key-value(键-值对)。Map中的key(键)不可以重复,但value(值)可以重复;
但需要注意如果给一个key(键)指定多个value(值),那么key只会和载入的最后一个value形成(键-值对);
//加载数据
ma.put("java", "书");
ma.put("java", "编程语言");
//输出结果: {java=编程语言}
Map接口的实现
Map是没有构造方法的;Map接口的实现需要通过三个通用类 HashMap、TreeMap 和 LinekeHashMap;
//创建map映射
Map<String,String> ma=new HashMap<String, String>();
Map<String,String> map=new TreeMap<String,String>();
Map<String,String> mapk=new LinkedHashMap<String,String>();
Map接口的常用操作
案例
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class mapDomo2 {
public static void main(String[] args) {
//创建map映射
Map<String,String> ma=new HashMap<String, String>();
Map<String,String> map=new TreeMap<String,String>();
Map<String,String> mapk=new LinkedHashMap<String,String>();
//加载数据
ma.put("java", "书");
ma.put("java", "编程语言");
ma.put("学生","张丽");
ma.put("班级", "2019050146");
ma.put("李雷", "韩梅梅");
System.out.println(ma); //输出映射
//通过key查找value。
if(ma.containsKey("java")) //查找"java"是否存在
{
System.out.println("查找的java存在");
String ss=ma.get("java");
System.out.println("是"+ss);
}
else {
System.out.println("你好,你查询的java不存在");
}
System.out.println("----------------");
//遍历
Set<String> ll= ma.keySet(); //将映射的key(键)转换为set的集合
Collection<String> coll=ma.values(); //将映射的value(值)转换为set集合
Collection<String> colle=ma.keySet();//将映射的key(键)转换为为集合
for(String i:ll) //用加强for循环 遍历set的key集合
{
System.out.println(i);
}
System.out.println("----------------");
for(String i:coll)//用加强for循环 遍历value(值)的集合
{
System.out.println(i);
}
System.out.println("----------------");
System.out.println(coll);
System.out.println(colle);
}
}
该程序运行结果如下:
{学生=张丽, java=编程语言, 班级=2019050146, 李雷=韩梅梅}
查找的java存在
是编程语言
----------------
学生
java
班级
李雷
----------------
张丽
编程语言
2019050146
韩梅梅
----------------
[张丽, 编程语言, 2019050146, 韩梅梅]
[学生, java, 班级, 李雷]