Java中Hashtable toString()方法

Java中Hashtable toString()方法

什么是Hashtable

Hashtable是Java中提供的一种用于存储键值对的数据结构。它是线程安全的,可以允许多个线程同时对其进行读写操作。Hashtable的实现基于哈希表(Hash Table),可以快速地进行查找和插入操作。

Hashtable的用法如下:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

System.out.println(hashtable);

输出结果如下:

{张三=100, 李四=90, 王五=80}

Hashtable的toString()方法

Hashtable中的toString()方法用于将Hashtable对象转换为字符串表示形式。它的用法如下:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

System.out.println(hashtable.toString());

输出结果如下:

{张三=100, 李四=90, 王五=80}

从上述输出结果可以看出,Hashtable的toString()方法将Hashtable对象转换为了一个字符串,并且使用大括号括起来,其中每个键值对之间用逗号分隔,键和值之间用等号连接。

需要注意的是,Hashtable中的键和值都必须是非空的,否则在调用toString()方法时会抛出NullPointerException。

下面是一个例子:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put(null, 100);
hashtable.put("李四", null);
hashtable.put("王五", 80);

System.out.println(hashtable.toString());

由于Hashtable中存在空键和空值,因此当调用toString()方法时会抛出NullPointerException异常,如下所示:

Exception in thread "main" java.lang.NullPointerException
    at java.util.Hashtable$Entry.toString(Unknown Source)
    at java.lang.String.valueOf(Unknown Source)
    at java.lang.StringBuilder.append(Unknown Source)
    at java.util.AbstractMap.toString(Unknown Source)
    at java.lang.String.valueOf(Unknown Source)
    at java.io.PrintStream.println(Unknown Source)
    at HashtableTest.main(HashtableTest.java:14)

Hashtable的put()方法

put()方法是Hashtable中用于添加键值对的方法。它的用法如下:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

put()方法的返回值是旧的值,如果这个键之前不存在,则返回null。如果键已经存在,则返回旧的值,并使用新的值将其替换。

下面是一个例子:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

Integer oldValue = hashtable.put("李四", 95);
System.out.println("旧的值:" + oldValue);
System.out.println(hashtable.toString());

输出结果如下:

旧的值:90
{张三=100, 李四=95, 王五=80}

从上述输出结果可以看出,put()方法返回了键“李四”之前的旧值90,而newValue 95 将旧的值替换。

Hashtable的get()方法

get()方法是Hashtable中用于获取键对应值的方法。它的用法如下:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

System.out.println(hashtable.get("张三"));

get()方法的返回值是键对应的值,如果这个键不存在,则返回null。

Hashtable的remove()方法

remove()方法是Hashtable中用于删除键值对的方法。它的用法如下:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

Integer oldValue = hashtable.remove("李四");
System.out.println("被删除的值:" + oldValue);
System.out.println(hashtable.toString());

remove()方法的返回值是被删除的值,如果键不存在,则返回null。下面是一个例子:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

Integer oldValue = hashtable.remove("赵六");
System.out.println("被删除的值:" + oldValue);
System.out.println(hashtable.toString());

输出结果如下:

被删除的值:null
{张三=100, 李四=90, 王五=80}

从上述输出结果可以看出,当删除一个不存在的键时,remove()方法返回null,Hashtable的内容没有变化。

Hashtable的clear()方法

clear()方法是Hashtable中用于清空所有键值对的方法。它的用法如下:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

hashtable.clear();
System.out.println(hashtable.toString());

输出结果如下:

{}

从上述输出结果可以看出,调用clear()方法后,Hashtable中不再有任何键值对。

Hashtable的size()方法

size()方法是Hashtable中用于获取键值对数量的方法。它的用法如下:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

System.out.println("键值对数量:" + hashtable.size());

输出结果如下:

键值对数量:3

Hashtable的containsKey()方法和containsValue()方法

containsKey()方法用于判断Hashtable是否包含指定的键,containsValue()方法则用于判断Hashtable是否包含指定的值。它们的用法如下:

Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("张三", 100);
hashtable.put("李四", 90);
hashtable.put("王五", 80);

// 判断是否包含指定的键
System.out.println(hashtable.containsKey("李四"));

// 判断是否包含指定的值
System.out.println(hashtable.containsValue(90));

输出结果如下:

true
true

结论

Hashtable中的toString()方法用于将Hashtable对象转换为字符串表示形式,其格式为大括号括起来,其中每个键值对之间用逗号分隔,键和值之间用等号连接。如果Hashtable中存在空键或空值,调用toString()方法会抛出NullPointerException。Hashtable中的put()、get()、remove()、clear()、size()、containsKey()、containsValue()等方法用于添加、获取、删除、清空、获取键值对数量、判断是否包含指定的键或值等操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程