我们知道 Map—>Hashtable,AbstractMap:Hashtable——Properties AbstractMap——TreeMap HashMap,
Test {Map集合基于 键(key)/值(value)映射。每个键最多只能映射一个值。键可以是任何引用数据类型的值,不可重复;值可以是任何引用数据类型的值,可以重复
今天来总结HashMap的常用方法。
首先我们来定义一个HashMap集合:
public class Test{
public static void main(String [ ] args){
HashMap testmap =new HashMap<>();//在JDK7.0以后new HashMap<>(),中的<>,可以不添加key和value。
}
}
值得一提的是泛型不能是基本数据类型,只能是其对应的包装类
下面提供基本数据类型以及其对应的包装类:
byte—Byte
short—Short
int—integer
float—Float
double—Double
boolean—Boolean
char—Character
1、.get();//用于向Hash Map集合中添加元素。
public class Test{
public static void main(String [ ] args){
HashMap testmap =new HashMap<>();
testmap.put("Tom",999);
testmap.put("Jim",888);
System.out.println(testmap);//用于将这个集合输出。
}
}
2、.size();//用于“测量”集合中有多少个元素。
例程:
public class Test{
public static void main(String [ ] args){
HashMap testmap =new HashMap<>();
testmap.put("Tom",999);
testmap.put("Jim",888);
System.out.println(testmap.size());
}
}
3、.get(key);//用于获取对应key值的value值。
public class Test{
public static void main(String [ ] args){
HashMap testmap =new HashMap<>();
testmap.put("Tom",999);
testmap.put("Jim",888);
System.out.println(testmap.get(“Tom”));
}
}
4、.clear();//清除集合中的元素。
5、.isEmpty();//判断集合中是否为空。输出类型是boolean。
public class Test{
public static void main(String [ ] args){
HashMap testmap =new HashMap<>();
testmap.put("Tom",999);
testmap.put("Jim",888);
teatmap.clear();
System.out.println(testmap.isEmpty());
}
}
输出结果:
true
6、.values();//用于输出HashMap集合中元素的values,并重新创建一个集合
7、.key();//用于输出HashMap集合中元素的key,并重新创建一个集合。
public class Test{
public static void main(String [ ] args){
HashMap testmap =new HashMap<>();
testmap.put("Tom",999);
testmap.put("Jim",888);
System.out.println(testmap.keySet());
System.out.println(testmap.values());
}
}
8、.remove(key);//用于去除集合中某个元素,并返回对应的values。
public class Test{
public static void main(String [ ] args){
HashMap testmap =new HashMap<>();
testmap.put("Tom",999);
testmap.put("Jim",888);
testmap.remove("Tom");
System.out.println(testmap);//用于检查Tom确实被删除了。
}
}
9、iterator();//用于将集合中的元素转存在iterator中。
此方法可以用于将遍历集合。
public class Test{
public static void main(String [ ] args){
HashMap testmap =new HashMap<>();
testmap.put("Tom",999);
testmap.put("Jim",888);
Set testset =testmap.keySet();//将map的所有key放在一个Set集合中。
Iterator iterator =testset.iterator();//这时我们将Set集合的元素转存在Iterator中
while(iterator.hasNext()) {//如果iterator”指针“下方还有元素,就会向下移动一位。
String key =iterator.next() ;//将key输出,然后方便下面调用。
System.out.println(key+" "+testmap.get(key));
}
输出结果如下:
除此之外还有方法将集合遍历。
①、首先将map所有key放在一个Set集合中,然后用for each 加强循环输出集合。
Set set =map.keySet();
for (String key : set) {
System.out.println(set+" "+map.get(key));
}
②、.entry<>//entry类可以将map中的元素以对的形式存放,然后定义为一个Set集合,之后再通过for加强循环的形式输出。
Set> set = testmap.entrySet();//entry将map中对象以对返回,
for (Entry entry : set) {
System.out.println(entry.getKey()+":"+entry.getValue());
}
③、将set集合中Entry
Set> set =testmap.entrySet();
Iterator> iterator = set.iterator();/
while(iterator.hasNext()) {
Entry entry = iterator.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
以上几种遍历map集合的方法,先找到map中的Key,或者通过entry<>直接将map中元素以对的形式转存在Iterator中,然后进行for加强循环,或者while循环。所以2*2就等于四种方法。