写在开头:本文用于作者学习Java常用API
我将官方文档中HashTable 1.6版本中类中所有API全测了一遍并打印了结果,日拱一卒,常看常新
clear()
@Test
public void test_clear(){
//将此哈希表清空,使其不包含任何键。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.clear();
System.out.println(ha);
}
clone()
@Test
public void test_clone(){
//创建此哈希表的浅表副本
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
Object clone = ha.clone();
System.out.println(clone);
//{4=xiaoli, 3=xiaoming, 2=xioxiao, 1=dahua}
}
contains()
@Test
public void test_contains(){
//测试此映射表中是否存在与指定键对应的值。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
boolean dahua = ha.contains("dahua");
System.out.println(dahua);//true
}
containsKey()
@Test
public void test_containsKey(){
//测试此映射表中是否存在与指定键对应的值。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
boolean b = ha.containsKey(4);
System.out.println(b);//true
boolean b1 = ha.containsKey(5);
System.out.println(b1);//false
}
containsValue()
@Test
public void test_containsValue(){
//如果此 Hashtable 将一个或多个键映射到此值,则返回 true。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
boolean dahua = ha.containsValue("dahua");
System.out.println(dahua);
}
entrySet()
@Test
public void test_entrySet(){
//返回此映射中包含的键的 Set 视图。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
Set<Map.Entry<Object, Object>> entries = ha.entrySet();
System.out.println(entries);//[5=dahua, 4=xiaoli, 3=xiaoming, 2=xioxiao, 1=dahua]
}
equals()
@Test
public void test_equals(){
//按照 Map 接口的定义,比较指定 Object 与此 Map 是否相等。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
Hashtable<Object, Object> ha1 = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
boolean equals = ha.equals(ha);
System.out.println(equals);//true
boolean equals1 = ha.equals(ha1);
System.out.println(equals1);//false
}
get()
@Test
public void test_get(){
//返回指定键所映射到的值,如果此映射不包含此键的映射,则返回 null.
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
System.out.println(ha.get(1));//dahua
}
hashCode()
@Test
public void test_hashCode(){
//按照 Map 接口的定义,返回此 Map 的哈希码值。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
int i = ha.hashCode();
System.out.println(i);//1935040118
}
isEmpty()
@Test
public void test_isEmpty(){
//测试此哈希表是否没有键映射到值
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
boolean empty = ha.isEmpty();
System.out.println(empty);//false
}
keys()
@Test
public void test_keys(){
// 返回此哈希表中的键的枚举
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
Enumeration<Object> keys = ha.keys();
while (keys.hasMoreElements()){
System.out.println(keys.nextElement());
}
/*5
4
3
2
1
*/
}
keySet()
@Test
public void test_keySet(){
// 返回此映射中包含的键的 Set 视图
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
Set<Object> objects = ha.keySet();
System.out.println(objects);//[5, 4, 3, 2, 1]
}
putAll()
@Test
public void test_putAll(){
// 将指定映射的所有映射关系复制到此哈希表中,这些映射关系将替换此哈希表拥有的、针对当前指定映射中所有键的所有映射关系
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
Hashtable<Object, Object> ha1 = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(6,"dahua");
ha.putAll(ha1);
System.out.println(ha);//{6=dahua, 5=dahua, 4=xiaoli, 3=xiaoming, 2=xioxiao, 1=dahua}
}
remove()
@Test
public void test_remove(){
//从哈希表中移除该键及其相应的值。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
Object remove = ha.remove(1);
System.out.println(remove);//dahua
System.out.println(ha);//{5=dahua, 4=xiaoli, 3=xiaoming, 2=xioxiao}
}
size()
@Test
public void test_size(){
//返回此哈希表中的键的数量。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
System.out.println(ha.size());//5
}
toString()
@Test
public void test_toString(){
//返回此 Hashtable 对象的字符串表示形式,其形式为 ASCII 字符 ", " (逗号加空格)分隔开的、括在括号中的一组条目。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
System.out.println(ha.toString());//{5=dahua, 4=xiaoli, 3=xiaoming, 2=xioxiao, 1=dahua}
}
values()
@Test
public void test_values(){
//返回此 Hashtable 对象的字符串表示形式,其形式为 ASCII 字符 ", " (逗号加空格)分隔开的、括在括号中的一组条目。
Hashtable<Object, Object> ha = new Hashtable<>();
ha.put(1,"dahua");
ha.put(2,"xioxiao");
ha.put(3,"xiaoming");
ha.put(4,"xiaoli");
ha.put(5,"dahua");
Collection<Object> values = ha.values();
System.out.println(values);//[dahua, xiaoli, xiaoming, xioxiao, dahua]
}