1.Map集合
Interface Map<K,V> key->键,value->值
Map集合是一个双边队列,存的是键值对的数据。
Mapa接口下面已经封装好了实现类
①HashMap
②TreeMap
Map接口下面的方法
增:
V put(K key,V value) 将指定的值与该映射中指定的键相关联
void putAll(Map<? extends K,? extends V> m) 将指定地图的所有映射复制到此映射
删:
V remove(K key) 通过键删除指定的值,返回值是被删除的值
改:
V put(K key,V value)
查:
int size()查看集合中元素的个数
boolean isEmpty()判断集合是否为空
boolean containsKey(Object key)判断集合中是否包含这个键
boolean containsValue(Object value)判断集合中是否包含这个值
重要的方法:
V get(K key)通过键获取值
Set<k> keySet()获取所有的键存到set集合中
Collection<v> values()获取所有集合中的值
Set<Map.Entry<K,V>> entrySet() 将键值对的map实体存到set集合中
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Demo1 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<>();
map.put("001", "老邢");//ctrl + d
map.put("002", "骚磊");
map.put("003", "狗蛋");
System.out.println(map);
//{001=老邢, 002=骚磊, 003=狗蛋}
//001=老邢 就叫键值对
Map<String, String> map1 = new HashMap<>();
map1.put("004", "恩东");//ctrl + d
map1.put("005", "老万");
map1.put("006", "阳仔");
System.out.println(map1);
map.putAll(map1);
System.out.println(map);//{001=老邢, 002=骚磊, 003=狗蛋, 004=恩东, 005=老万, 006=阳仔}
// Map<Integer, String> map2 = new HashMap<>();
// map2.put(4, "恩东");//ctrl + d
// map2.put(5, "老万");
// map.putAll(map2);
System.out.println(map.remove("003"));
System.out.println(map);//{001=老邢, 002=骚磊, 004=恩东, 005=老万, 006=阳仔}
System.out.println(map.put("005", "老实巴交的老万"));
System.out.println(map);//{001=老邢, 002=骚磊, 004=恩东, 005=老实巴交的老万, 006=阳仔}
System.out.println(map.size());//5
System.out.println(map.isEmpty());//false
System.out.println(map.containsKey("003"));//false
System.out.println(map.containsKey("004"));//true
System.out.println(map.containsValue("老邢"));//true
System.out.println(map.get("001"));//老邢
Set<String> strings = map.keySet();
//返回值是nset 键是不可重复的 所以将键存到set集合中
System.out.println(strings);
Collection<String> values = map.values();
System.out.println(values);
Set<Map.Entry<String, String>> entries = map.entrySet();
System.out.println(entries);
//使用增强for循环 iter快捷键
for (Map.Entry<String, String> entry : entries) {
System.out.println(entry);//001=老邢 键值对对象
System.out.println(entry.getKey());//获取的键
System.out.println(entry.getValue());//获取值
System.out.println("=====");
}
}
}
Map集合中的value值存放自定义的对象
import java.util.HashMap;
import java.util.Map;
class Person{
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return na