Map父接口
**特点:**存储一对数据(Key-Value),无序,无下标,键不可重复,值可以重复。
HashMap介绍
基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许 null值和null键。(HashMap 该类与大致等效Hashtable,不同之处在于它是不同步的,并且允许为null。)此类不保证映射的顺序。特别是,它不能保证顺序会随着时间的推移保持恒定。线程不安全,效率高。
实例:
import java.util.HashMap;
public class TeatHashMaps {
public static void main(String[] args) {
HashMap hm=new HashMap();
hm.put(0,"Hello");
hm.put(1,"World");
hm.put(2,"A");
hm.put(3,"B");
hm.put(4,"C");
hm.put(5,"Hello1");
hm.put(0,"HelloEveryone"); //自动进行覆盖
System.out.println(hm.size());
// System.out.println(hm.get(0));
for (int i=0;i<hm.size();i++){
System.out.println(hm.get(i));
}
String s= (String) hm.remove(3);
System.out.println("被移除的数据:"+s);
System.out.println("-------------------------------");
System.out.println(hm.size());
for (int i=0;i<hm.size();i++){
System.out.println(hm.get(i));
}
}
}
运行结果:
6
HelloEveryone
World
A
B
C
Hello1
被移除的数据:B
-------------------------------
5
HelloEveryone
World
A
null
C
Hashtable简介
线程安全,效率低,key和value都不能使用null。
properties
Hashtable的子类,要求key和value都是String,通常用于配置文件的读取。
实例:
import java.util.Hashtable;
import java.util.Properties;
public class TestHashTable {
public static void main(String[] args) {
Hashtable table=new Hashtable();
Properties pro=new Properties();
pro.setProperty("aa","bb");
pro.setProperty("cc","dd");
pro.put("a1","b1");
System.out.println(pro.getProperty("aa"));
System.out.println(pro.getProperty("cc"));
System.out.println(pro.get("a1"));
}
}
运行结果:
bb
dd
b1
TreeMap简介
实现了sortedmap接口(Map的子接口)可以对key自动排序。