HashMap是一个散列表,它存储的内容是键值对(key-value)映射。
HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键为null,不支持线程同步。HashMap不会记录插入的顺序,即它是无序的。
HashMap继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。
HashMap的key与value类型可以相同也可以不同,可以是字符串(String)类型的key和value,也可以是整型(Integer)的key和字符串(String)类型的value。
HashMap类位于java.util包中,使用前需要引入它,语法格式如下:
import java.util.HashMap;//引入HashMap类
HashMap常见操作用法如下:
//导入包
import java.util.HashMap;
public class Test{
public static void main(String[] args){
//初始化,创建HashMap的对象sites
//此时sites的key值类型为整型,value类型为字符串类型
HashMap<Integer,String> sites = new HashMap<Integer,String>();
//使用put()方法添加键值对
sites.put(1,"red");
sites.put(2,"blue");
sites.put(3,"green");
sites.put(4,"yellow");
//输出元素
System.out.println("-----------<Integer,String>类型-------------");
System.out.println(sites);
//<String,String>类型
HashMap<String,String> sites2 = new HashMap<String,String>();
//put()添加键值对
sites2.put("one","red");
sites2.put("tow","green");
sites2.put("three","black");
sites2.put("four","pink");
//输出元素
System.out.println("-----------<String,String>类型-------------");
System.out.println(sites);
//获取元素
//使用get(key)方法可以获取key对应的value
System.out.println(sites.get(3));
//使用remove(key)来删除key对应的键值对(key-value)
sites.remove(4);
System.out.println("------------删除第四个元素后----------------");
System.out.println(sites);
//删除所有键值对可以使用clear方法
sites.clear();
System.out.println("------------删除所有元素------------");
System.out.println(sites);
//要计算元素数量可以使用size()方法
System.out.println(sites2.size());
//迭代
for(String i : sites2.keySet()){
System.out.println("key:"+i+" value:"+sites2.get(i));
}
}
}