Map集合
Map接口下有一个实现类Hashtable、一个子接口SortedMap、一个抽象类AbstractMap,在AbstractMap下有一个HashMap实现类和一个TreeMap实现类,接下来介绍HashMap实现类的常用方法
put():向HashMap中添加元素 key - value,key不允许重复,否则覆盖(原理后面的博客会讲)
package map;
import java.util.HashMap;
public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map = new HashMap<String,Integer>();//尖括号内容是泛型
map.put("A", 149);
map.put("B", 26);
map.put("C", 39);
}
}
泛型不可以是基本数据类型,可以是自定义的类,也可以是基本数据类型所对应的包装类
Byte Short Integer Float Double Boolean Character
get():获取key所对应的value
package map;
import java.util.HashMap;
public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put("A", 149);
map.put("B", 26);
map.put("C", 39);
int v = map.get("A");
System.out.println(v);
}
}
size():获取HashMap集合容器中有多少键值对
package map;
import java.util.HashMap;
public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put("A", 149);
map.put("B", 26);
map.put("C", 39);
int v = map.get("A");
System.out.println(map.size());
}
}
clear():清空容器键值对,isEmpty():空返回true
package map;
import java.util.HashMap;
public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put("A", 149);
map.put("B", 26);
map.put("C", 39);
map.clear();
System.out.println(map.isEmpty());
}
}
remove():删除HashMap元素,返回value
package map;
import java.util.HashMap;
public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put("A", 149);
map.put("B", 26);
map.put("C", 39);
int score = map.remove("Tom");
System.out.println(score);
}
}
遍历Map容器的四种方法
package map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;
public class Map {
public static void main(String[] args) {
HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put("A", 149);
map.put("B", 26);
map.put("C", 39);
// 一、
// Collection<Integer> vals = map.values();
// for (Integer i : vals) {
// System.out.println(i);//值的集合
// }
// 二、
// Set<String> set = map.keySet();
// ①
// for (String key : set) {
// System.out.println(key+" "+map.get(key));//键的集合,通过键得到值
// }
// ②
// Iterator<String> it = set.iterator();
// while(it.hasNext()) {
// String key = it.next();
// System.out.println(key+" "+map.get(key));//把键的集合的信息交给迭代器变量,然后遍历通过键得到值
// }
// 三、
// Set<Entry<String, Integer>> set = map.entrySet();//创建entry的集合,entry是键值对的封装对象,可以调用对象的方法遍历
// for (Entry<String, Integer> entry : set) {
// System.out.println(entry.getKey()+" "+entry.getValue());
// }
// 四、
// Iterator<Entry<String,Integer>> it = set.iterator();//把这些对象的信息都交给迭代器变量,然后迭代器遍历
// while(it.hasNext()) {
// Entry<String,Integer> entry = it.next();
// System.out.println(entry.getKey()+" "+entry.getValue());//entry对象
}
}