我是哈希表的新手,我只是搞清楚它的基本操作.我有一个如下所示创建的哈希表,也插入了值.
Hashtable<Integer , String> ht = new Hashtable<Integer , String>();
ht.put(1234, "ABCD");
ht.put(2345, "EFGH");
ht.put(4567, "IJKL");
Run Code Online (Sandbox Code Playgroud)
我可以使用密钥删除所需的元素,如下所示
System.out.println("Deleting entry with key 2345");
ht.remove(2345);
System.out.println(ht.toString());
Run Code Online (Sandbox Code Playgroud)
它给出了以下输出
Deleting entry with key 2345
{4567=IJKL, 1234=ABCD}
Run Code Online (Sandbox Code Playgroud)
我无法找到任何有助于使用值作为索引并删除元素来定位哈希表中的元素的方法.我该怎么办呢?
所以,我正在输入一个非常简单的程序来接受用户的日期并将其打印回来.在我的第一次尝试中,我看到年份增加了1900年.究竟是什么原因?我还看到月份值增加1.这是程序块
Date dateInput = new Date(114,2,20,13,18,48); //2014-1900 = 114
System.out.println("Date Entered by You : ");
System.out.println(dateInput);
Run Code Online (Sandbox Code Playgroud)
这个输出是
Date Entered by You :
Thu Mar 20 13:18:48 IST 2014
Run Code Online (Sandbox Code Playgroud)
我将月份值输入为2,但它在3月打印.可能是什么问题呢?为什么Date类被预编程为在输入的年份中添加1900?