1.Map集合
Interface Map<K.V> K:键的类型 V值的类型
将键映射到值的对象;不能包含重复的键;每个键映射一个值。
eg:学校和学校的邮件地址
2.创建Map集合对象
多态的方式
具体实现类HashMap
mport java.util.HashMap;
import java.util.Map;
public class MapDemo {
public static void main(String[] args) {
//创建集合对象
Map<String,String> map = new HashMap<String,String>();
//添加元素
map.put("23","乔丹");
map.put("24","科比");
//输出
System.out.println(map);
}
}
3.Map集合的方法
方法名 | 解释 |
V put(K key, V value) | 添加元素 |
V remove(Object key) | 删除元素 |
void clear() | 删除所有元素 |
boolean containsKey(Object key) | 判断集合中是否有对应的键 |
boolean containsValue(Object value) | 判断集合中是否有对应的值 |
boolean isEmpty() | 是否为空 |
int size() | 集合的长度 |
import java.util.HashMap;
import java.util.Map;
public class MapDemo01 {
public static void main(String[] args) {
//创建集合对象
Map<String,String> map = new HashMap<>();
//添加元素
map.put("23","乔丹");
map.put("24","科比");
map.put("30","库里");
map.put("13","泡椒");
//删除
// System.out.println(map.remove("23"));
//清空
// map.clear();
System.out.println(map.containsKey("24"));
System.out.println(map.containsValue("库里"));
System.out.println(map.size());
//输出
System.out.println(map);
}
}
4.HashMap
键找值
//键找值
Set<String> keySet = hs.keySet();
for (String key : keySet) {
Student value = hs.get(key);
System.out.println(key + "---" + value.getName() + value.getAge());
}
键对对象找值和键
Set<Map.Entry<String, Student>> entrySet = hs.entrySet();
for (Map.Entry<String, Student> en : entrySet){
String key = en.getKey();
Student value = en.getValue();
System.out.println(key + "---" + value.getName() + value.getAge());
5.HashMap作为ArrayList集合的元素
遍历ArrayList集合
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class ArrayListHashMap {
public static void main(String[] args) {
//创建ArrayList集合
ArrayList<HashMap<String, String>> array = new ArrayList<HashMap<String, String>>();
//创建HashMap
HashMap<String, String> hs1 = new HashMap<String, String>();
// 添加集合对象
hs1.put("王子", "公主");
// 把HashMap当做元素添加到ArrayList
array.add(hs1);
// 遍历ArrayList 集合
for (HashMap<String, String> hs : array) {
Set<String> keySet = hs.keySet();
for (String key : keySet) {
String value = hs.get(key);
System.out.println(key + "___" + value);
}
}
}
}
6.ArrayList作为HashMap集合的元素
遍历HashMap集合
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class HashMapArrayListDemo {
public static void main(String[] args) {
// 创建HashMap集合
HashMap<String, ArrayList<String>> hs = new HashMap<String, ArrayList<String>>();
// 创建ArrayList集合
ArrayList<String> array1 = new ArrayList<String>();
array1.add("佛耶戈");
array1.add("艾克");
// 把ArrayList当做对象添加到HashMap集合中
hs.put("打野",array1);
// 遍历集合
Set<String> keySet = hs.keySet();
for (String key : keySet){
System.out.println(key);
ArrayList<String> value = hs.get(key);
for (String s : value){
System.out.println( "\t"+ s);
}
}
}
}