3. Map集合
java.util.Map接口,是双列集合的顶级接口.
Map集合容器每次存储2个对象,一个对象称为键(Key),- 一个对象称为值(Value)
在一个Map的集合容器中,键保证唯一性不包含重复键每个键只能对应一个值
3.1 Map接口方法;
●V put(K,V)存储键值对,存储重复键,返回被覆盖之前的值
package com.sdjzu.mapputget;
import java.util.HashMap;
import java.util.Map;
public class MapTest {
public static void main(String[] args) {
method();
}
//put
public static void method(){
//创建对象
Map<String,Integer> map=new HashMap<String,Integer>();
//对象调用put方法
map.put("a",1);
map.put("b",2);
map.put("c",3);
System.out.println("map = " + map);
Integer integer= map.get("a");
System.out.println("integer = " + integer);
}
}
Map集合其它方法
●boolean containsKey(K)判断集合是否包含这个键,包含返回true
●boolean containsValue(V)判断集合是否包含这个值包含返回true
●int size()返回集合长度Map集合中键值对的个数
●V remove(K)移除指定的键值对,返回被移除之前的值
●Collection values() Map集合中的所有的值拿出,存储到Collection集合
3.2 Map集合的遍历-键找值
●实现思想:
。Map接口定义了方法keySet() 所有的键存储到Set集合
。遍历Set集合
。取出Set集合元素Set集合的元素是Map集合的键
。Map集合方法get0传递键获取值
I
package com.sdjzu.map;
import java.util.*;
public class MapTest {
public static void main(String[] args) {
method();
}
//put
public static void method(){
//创建对象
Map<String,Integer> map=new HashMap<String,Integer>();
//对象调用put方法
map.put("a",1);
map.put("b",2);
map.put("c",3);
System.out.println("输出map = " + map);
//调用get方法,通过键返回值
Integer integer= map.get("a");
System.out.println("返回a位置的值integer = " + integer);
//判断是否有这个键值
boolean key = map.containsKey("c");
System.out.println("判断是否有“c”: " + key);
//判断是否有值
boolean value = map.containsValue(1);
System.out.println("判断是否有1:" + value);
//返回集合的长度
int size = map.size();
System.out.println("返回集合大小" + size);
//移除键值对,并返回值
Integer c = map.remove("c");
System.out.println("删除c:" + map);
//map集合中的值拿出来,放在collect集合中
for (Integer valus1 : map.values()) {
System.out.println("valus1 = " + valus1);
}
//map集合中的遍历
//将键值存储在集合中
Set<String> set=map.keySet();
//遍历集合
//创建一个迭代的对象
Iterator<String> it=set.iterator();
//while循环
while(it.hasNext()){
//遍历键值
String str=it.next();
//通过键值获取值
Integer in=map.get(str);
System.out.println("in = " + in);
}
}
}