Map
1.Map接口中常用的方法
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
/*
java.util.Map接口中常用的方法:
Map和Collection没有继承关系
Map集合以key和value的方式存储数据:键值对
key和value都是引用数据类型
key和value都是存储对象的地址
key起主导的地位:value是key的附属品
Map接口中常用的方法:
void clear()
boolean containsKey(Object key)
boolean containsValue(Object value)
V get (object key) 通过key获取value
V put(K key, V value);
boolean isEmpty();
Set<K> keySet(); 获取Map集合中所有的key
Set<Map.Entry<K, V>> entrySet();
* */
public class MapTest {
public static void main(String[] args) {
//创建Map集合对象
Map<Integer, String> map = new HashMap<>();
map.put(1,"a");
map.put(2,"b");
map.put(3,"c");
map.put(4,"d");
//通过key获取value
System.out.println(map.get(1));
//获取键值对的数量
System.out.println(map.size());
//通过key删除value
map.remove(2);
//判断是否包含某个value
//contians方法底层调用的都是equals进行比对的,所以自定义的类型需要重写equals方法。
System.out.println(map.containsValue("a")); //true
//判断是否包含某个key
System.out.println(map.containsKey(1)); //true
//获取所有的value
Collection<String > value = map.values();
//清空map集合
map.clear();
}
}
2.Map集合的遍历
-
第一种方法:获取所有的key,通过遍历key,遍历value
-
第二种方式遍历 Set<Map.Entry<K, V>> entrySet();
以上这个方法是把map集合直接全部转化成set集合
Set集合中元素类型是:Map.Entry
Set<Map.Entry<Integer,String>> set = map.entrySet();
遍历Set集合,每次取出来一个node
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/*
* Map集合的遍历
* */
public class MapTest02 {
public static void main(String[] args) {
//获取所有的key,通过遍历key,遍历value
Map<Integer,String> map = new HashMap<>();
map.put(1,"a");
map.put(2,"b");
map.put(3,"c");
map.put(4,"d");
//遍历 ,先获取所有的value
Set<Integer> keys = map.keySet();
Iterator<Integer> it = keys.iterator();
while(it.hasNext()){
Integer key = it.next();
String value = map.get(key);
System.out.println(key + "=" + value);
}
//foreach也可以
for (Integer key : keys) {
System.out.println(key + "=" + map.get(key));
}
//第二种方式遍历 Set<Map.Entry<K, V>> entrySet();
//以上这个方法是把map集合直接全部转化成set集合
//Set集合中元素类型是:Map.Entry
Set<Map.Entry<Integer,String>> set = map.entrySet();
//遍历Set集合,每次取出来一个node
//迭代器
Iterator<Map.Entry<Integer,String >> itt = set.iterator();
while(itt.hasNext()){
Map.Entry<Integer,String > node = itt.next();
Integer key = node.getKey();
String value = node.getValue();
System.out.println(key + "=" + value);
}
}
}
标签:Map,Set,Java,map,value,遍历,key,集合
From: https://www.cnblogs.com/shijili/p/18004890