Java HashMap
HashMap
HashMap实现了Map接口,同时继承于AbstractMap类。它利用哈希值来存储数据,不允许重 复的键出现,但允许有null值和建,最多只允许一个为null的键(这也是因为HashMap键不能重 复)。HashMap因为使用了哈希表,所以对其中的映射关系具有很快的访问速度。HashMap类不保 证存人键值对映射关系的顺序,而且它的顺序可能会发生变化。
使用时通常将变量类型声明为Map类型,可以通过具体的实现类来定义不同对象的具体实例化 类型。
动手写1
Map<String, String〉simpleMap = new HashMap<>();
Map<Slring, Map<Slring, Sli'ing» complexMap = new HashMap<>0;
Map<Map<String, String>,String>otherComplexMap = new HashMap<>0;
上述代码中,第一个指定声明了键值都是String类型的Map集合;第二个指定声明了一个Map集 合,key为String类型,映射的值也是Map集合;第三个指定声明了一个Map集合,key为一个Map集 合对象,值为Siring类型。
package zuixu.comn;
import java.util.List;
import java.util.Map;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
//ArrayList中get()和set()方法的使用
public class TrigonometricMethod {
public static void main(String[] args) {
Map<String, String>hashMap = new HashMap<>();
hashMap.put("小明","11岁");
hashMap.put("小张","22岁");
hashMap.put("小刘","23岁");
//使用key集合遍历
System.out.println("通过Map.keySet遍历key和value:");
for (String key : hashMap.keySet()) {
System.out.println("key= " + key + "and value= " +hashMap.get(key));
}
//使用Map.Entry的迭代器遍历
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String,String>>it = hashMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String>entry = it.next();
System.out.println("key="+entry.getKey()+"and value=" + entry.getValue());
}
}
}
点击加载更多评论>>