Map——>AbstractMap——>HashMap
HashMap常用方法:
1、put(K key, V value): 将键(key)/值(value)映射存放到Map集合中。
2、get(Object key): 返回指定键所映射的值,没有该key对应的值则返回 null。
3、size(): 返回Map集合中数据数量。
4、clear(): 清空Map集合。
5、isEmpty(): 判断Map集合中是否有数据,如果没有则返回true,否则返回false。
6、remove(Object key): 删除Map集合中键为key的数据并返回其所对应value值。
7、values(): 返回Map集合中所有value组成的以Collection数据类型格式数据。
8、containsKey(Object key): 判断集合中是否包含指定键,包含返回 true,否则返回false。
9、containsValue(Object value): 判断集合中是否包含指定值,包含返回 true,否则返回false。
10、keySet(): 返回Map集合中所有key组成的Set集合。
11、entrySet(): 将Map集合每个key-value转换为一个Entry对象并返回由所有的Entry对象组成的Set集合。
方法使用:
1、put(K key, V value) 将键(key)/值(value)映射存放到Map集合中。
2、get(Object key) 返回指定键所映射的值,没有该key对应的值则返回 null。
3、size() 返回Map集合中数据数量。
例如:
import java.util.HashMap;
public class Test {
public static void main(String[] args) {
HashMap<String ,Integer> map = new HashMap<>();
map.put("徐冰", 100);
map.put("萤火", 99);
int i = map.get("萤火"); //i为key对应的value。
System.out.println(i);
System.out.println(map.size());
}
}
4、clear() 清空Map集合。
5、isEmpty () 判断Map集合中是否有数据,如果没有则返回true,否则返回false。
例如:
import java.util.HashMap;
public class Test {
public static void main(String[] args) {
HashMap<String ,Integer> map = new HashMap<>();
map.put("徐冰", 100);
map.put("萤火", 99);
System.out.println(map.isEmpty());
map.clear();
System.out.println(map.isEmpty());
}
}
6、remove(Object key) 删除Map集合中键为key的数据并返回其所对应value值。
例如:
import java.util.HashMap;
public class Test {
public static void main(String[] args) {
HashMap<String ,Integer> map = new HashMap<>();
map.put("徐冰", 100);
map.put("萤火", 99);
System.out.println(map.remove("萤火")); //返回value值。
System.out.println(map);
}
}
7、values() 返回Map集合中所有value组成的以Collection数据类型格式数据。
例如,利用values方法for循环遍历HashMap的value:
import java.util.Collection;
import java.util.HashMap;
public class Test {
public static void main(String[] args) {
HashMap<String ,Integer> map = new HashMap<>();
map.put("徐冰", 100);
map.put("萤火", 99);
Collection<Integer> value =map.values();
for (Integer i : value) {
System.out.println(i);
}
}
}
8、containsKey(Object key) 判断集合中是否包含指定键,包含返回 true,否则返回false 。
9、containsValue(Object value) 判断集合中是否包含指定值,包含返回 true,否则返回false。
例如:
import java.util.HashMap;
public class Test {
public static void main(String[] args) {
HashMap<String ,Integer> map = new HashMap<>();
map.put("徐冰", 100);
map.put("萤火", 99);
System.out.println(map.containsKey("徐冰"));
System.out.println(map.containsValue(99));
}
}
10、keySet() 返回Map集合中所有key组成的Set集合。
例如,可以利用keySet方法进行一个对key—value的遍历:
import java.util.HashMap;
import java.util.Set;
public class Test {
public static void main(String[] args) {
HashMap<String ,Integer> map = new HashMap<>();
map.put("徐冰", 100);
map.put("萤火", 99);
Set<String> set = map.keySet();
for (String key : set) {
System.out.println(key+":"+map.get(key));
}
}
}
之前了解Set有iteritor方法,所以对key—value的遍历还有一个方法,对上面的方法增加代码:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class Test {
public static void main(String[] args) {
HashMap<String ,Integer> map = new HashMap<>();
map.put("徐冰", 100);
map.put("萤火", 99);
Set<String> set = map.keySet();
for (String key : set) {
System.out.println(key+":"+map.get(key));
}
System.out.println();
Iterator<String> ite = set.iterator(); //使用了Set的iterator方法,增加了一种遍历方法。
while(ite.hasNext())
{
String key = ite.next();
System.out.println(key+":"+map.get(key));
}
}
}
11、entrySet() 将Map集合每个key-value转换为一个Entry对象并返回由所有的Entry对象组成的Set集合。
例如,可以利用entrySet方法进行一个对key—value的遍历,跟上面一样,有两个方法:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
public class Test {
public static void main(String[] args) {
HashMap<String ,Integer> map = new HashMap<>();
map.put("徐冰", 100);
map.put("萤火", 99);
Set<Entry<String, Integer>> set = map.entrySet();
for (Entry<String, Integer> entry : set) {
System.out.println(entry.getKey()+":"+entry.getValue());
}
System.out.println();
Iterator<Entry<String, Integer>> ite = set.iterator();
while(ite.hasNext())
{
Entry<String, Integer> entry = ite.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
}