Map中常用的抽象方法
1.添加、删除、修改操作
- Object put(Object key,Object value) 添加键值对到map对象中
- void putAll(Map m) 将map对象添加到当前的对象
- Object remove(Object key) 在当前对象中溢出key对应的键值对,并返回value
- void clear() 清空当前对象中的所有数据
2.查找
- Object get(Object key) 根据key获取对应的value
- boolean containsKey(Object key) 查看当前对象中是否存在key
- boolean containsKey(Object value) 查看当前对象中是否存在value
- int size() 返回当前对象 键值对 的个数
- boolean isEmpty() 判断当前对象是否为空
- boolean equals(Object o) 判断当前对象是否与o相等
3.元视图操作
- Set keySet() 返回所有key构成的Set集合
- Collection values() 返回所有value构成的Collection集合
- Set entrySet() 返回所有key-value构成的Set集合
代码示例:
import java.util.HashMap;
public class MapTest {
public static void main(String[] args) {
MapTest mapTest = new MapTest();
mapTest.test1();
}
//以HashMap为例
public void test1() {
HashMap hashMap = new HashMap();
//Object put(Object key,Object value) 添加键值对到map对象中
hashMap.put("name", "Joney");
hashMap.put("age", 18);
hashMap.put(null, "man"); //HashMap可以存储null的key、value
hashMap.put("woke", null);//HashMap不可以存储null的key、value
System.out.println(hashMap+"\n");
//Object remove(Object key) 在当前对象中溢出key对应的键值对,并返回value
hashMap.remove("woke");
System.out.println("移除woke后:"+hashMap+"\n");
//boolean containsKey(Object key) 查看当前对象中是否存在key
System.out.println("是否存在key=name:"+hashMap+"\n");
//boolean containsValue(Object value) 查看当前对象中是否存在value
System.out.println("是否存在Value=18:"+hashMap+"\n");
//boolean isEmpty() 判断当前对象是否为空
System.out.println("hashMap是否为空:"+hashMap.isEmpty()+"\n");
//int size() 返回当前对象 键值对 的个数
System.out.println("hashMap的长度:"+hashMap.size()+"\n");
//Set keySet() 返回所有key构成的Set集合
System.out.println("返回所有key构成的Set集合:"+hashMap.keySet()+"\n");
//Collection values() 返回所有value构成的集合
System.out.println("返回所有value构成的集合:"+hashMap.values()+"\n");
//Set entrySet() 返回所有key-value构成的集合
System.out.println("返回所有key-value构成的集合:"+hashMap.entrySet()+"\n");
//void clear() 清空当前对象中的所有数据
hashMap.clear();
System.out.println("执行clear()后的HashMap的长度:"+hashMap.size());
}
}
4.遍历:
- .遍历key
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class MapTest {
public static void main(String[] args) {
MapTest mapTest = new MapTest();
System.out.println("\n----------------遍历-----------------");
mapTest.test2();
}
public void test2() {
HashMap hashMap = new HashMap();
//Object put(Object key,Object value) 添加键值对到map对象中
hashMap.put("name", "Joney");
hashMap.put("age", 18);
hashMap.put("gender", "man"); //HashMap可以存储null的key、value
hashMap.put("job", "student");//HashMap不可以存储null的key、value
System.out.println(hashMap+"\n");
//返回所有key构成的Set集合
Set keys = hashMap.keySet();
Iterator iterator = keys.iterator();
System.err.println("遍历所有的key:");
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
- 遍历value
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class MapTest {
public static void main(String[] args) {
MapTest mapTest = new MapTest();
mapTest.test2();
}
public void test2() {
HashMap hashMap = new HashMap();
//Object put(Object key,Object value) 添加键值对到map对象中
hashMap.put("name", "Joney");
hashMap.put("age", 18);
hashMap.put("gender", "man"); //HashMap可以存储null的key、value
hashMap.put("job", "student");//HashMap不可以存储null的key、value
//返回所有value构成的Collection集合
Collection values = hashMap.values();
Iterator iterator2 = values.iterator();
System.out.println("遍历所有value:");
for (Object object : values) {
System.out.println(object);
}
}
}
- 遍历key-value
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class MapTest {
public static void main(String[] args) {
MapTest mapTest = new MapTest();
mapTest.test2();
}
public void test2() {
HashMap hashMap = new HashMap();
//Object put(Object key,Object value) 添加键值对到map对象中
hashMap.put("name", "Joney");
hashMap.put("age", 18);
hashMap.put("gender", "man"); //HashMap可以存储null的key、value
hashMap.put("job", "student");//HashMap不可以存储null的key、value
//返回所有key-value构成的Set集合
Set entrySet = hashMap.entrySet();
Iterator iterator3 = entrySet.iterator();
System.out.println("遍历所有的key-value:");
while(iterator3.hasNext()) {
System.out.println(iterator3.next());
}
}
}