Java中Hashtable如何实现长尾词查询功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计589个文字,预计阅读时间需要3分钟。
%E2%80%9CHashtable%E4%B8%AD%E5%AD%98%E5%82%A8%E7%9A%84%E6%98%AF%E9%94%AE-%E5%80%BC%E5%AF%B9%EF%BC%8C%E5%92%8CC++%E4%B8%AD%E7%9A%84map%E7%B1%BB%E4%BC%BC%E4%BD%BF%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%98%AF%E9%94%AE-%E5%80%BC%E5%AF%B9%E3%80%82%E9%94%AE%E6%98%AF%E5%94%AF%E4%B8%80%E7%9A%84%EF%BC%8C%E5%80%BC%E4%B8%8D%E6%98%AF%E5%94%AF%E4%B8%80%E7%9A%84%EF%BC%8C%E4%BD%BF%E7%94%A8Java%E4%B8%AD%E7%9A%84Hashtable%EF%BC%9Aimport%20java.util.Hashtable%3B%20Hashtable%20ht%20%3D%20new%20Hashtable%28%29%3B%20%2F%2F%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0Hashtable%20ht%20%3D%20new%20Hashtable%2810%29%EF%BC%9B%E2%80%9D
Hashtable中存储的是键-值对,和C++中的map类似,map中的存储的也是键-值对。
键是唯一的,值不是唯一的
import java.util.Hashtable;
Hashtable ht = new Hashtable(); //构造函数
Hashtable ht = new Hashtable(10); //构造函数
ht.put(key, value); //存放键-值对
ht.remove(key); //根据key来删除这个元素
value = ht.get(key); //根据key取得值
ht.toString(); //把所有元素转化成字符串
!!!!!主要注意的是:在删除的时候,由于是按照key来删除,因此一定要注意,我在删除的时候反了一个错:
由于本例中的key类型为连续的数值,即0---6,在删除的是和之前Vector的混淆了。删除时使用的参数是key,因此和个数(.size())没有关系。!!!!!!!!!!!!!!!!!!
eg.
------------------------------------------------------------------------------
import java.util.Hashtable;
public class senventh
{
public static void main(String args[])
{
Hashtable ht = new Hashtable(10);
ht.put(0, "cuihao");
ht.put(1, "handandan");
ht.put(2, "wupan");
ht.put(3, "mahong");
ht.put(4, "jinjia");
ht.put(5, "yangsisi");
ht.put(6, "xuexiang");
System.out.println("用循环输出的效果如下:");
int length = ht.size();
for(int i = 0; i < length; ++ i)
{
System.out.println(i + ": " + ht.get(i));
}
System.out.println("-----------------------------------------");
System.out.println("使用toString()函数输出效果如下:");
System.out.println(ht.toString());
System.out.println("------删除所有元素-----------------------------------");
//删除一定要注意! 这里之前写的是i < ht.size(); size是变化的,因此,删除后打印时只打印了4个,这是错误的!
for(int i = 0; i < length; ++ i)
{
System.out.println("delete obj[" + i + "]");
ht.remove(i);
}
System.out.println("--------删---除---后---------------------------");
System.out.println(ht.toString());
}
}
本文共计589个文字,预计阅读时间需要3分钟。
%E2%80%9CHashtable%E4%B8%AD%E5%AD%98%E5%82%A8%E7%9A%84%E6%98%AF%E9%94%AE-%E5%80%BC%E5%AF%B9%EF%BC%8C%E5%92%8CC++%E4%B8%AD%E7%9A%84map%E7%B1%BB%E4%BC%BC%E4%BD%BF%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%98%AF%E9%94%AE-%E5%80%BC%E5%AF%B9%E3%80%82%E9%94%AE%E6%98%AF%E5%94%AF%E4%B8%80%E7%9A%84%EF%BC%8C%E5%80%BC%E4%B8%8D%E6%98%AF%E5%94%AF%E4%B8%80%E7%9A%84%EF%BC%8C%E4%BD%BF%E7%94%A8Java%E4%B8%AD%E7%9A%84Hashtable%EF%BC%9Aimport%20java.util.Hashtable%3B%20Hashtable%20ht%20%3D%20new%20Hashtable%28%29%3B%20%2F%2F%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0Hashtable%20ht%20%3D%20new%20Hashtable%2810%29%EF%BC%9B%E2%80%9D
Hashtable中存储的是键-值对,和C++中的map类似,map中的存储的也是键-值对。
键是唯一的,值不是唯一的
import java.util.Hashtable;
Hashtable ht = new Hashtable(); //构造函数
Hashtable ht = new Hashtable(10); //构造函数
ht.put(key, value); //存放键-值对
ht.remove(key); //根据key来删除这个元素
value = ht.get(key); //根据key取得值
ht.toString(); //把所有元素转化成字符串
!!!!!主要注意的是:在删除的时候,由于是按照key来删除,因此一定要注意,我在删除的时候反了一个错:
由于本例中的key类型为连续的数值,即0---6,在删除的是和之前Vector的混淆了。删除时使用的参数是key,因此和个数(.size())没有关系。!!!!!!!!!!!!!!!!!!
eg.
------------------------------------------------------------------------------
import java.util.Hashtable;
public class senventh
{
public static void main(String args[])
{
Hashtable ht = new Hashtable(10);
ht.put(0, "cuihao");
ht.put(1, "handandan");
ht.put(2, "wupan");
ht.put(3, "mahong");
ht.put(4, "jinjia");
ht.put(5, "yangsisi");
ht.put(6, "xuexiang");
System.out.println("用循环输出的效果如下:");
int length = ht.size();
for(int i = 0; i < length; ++ i)
{
System.out.println(i + ": " + ht.get(i));
}
System.out.println("-----------------------------------------");
System.out.println("使用toString()函数输出效果如下:");
System.out.println(ht.toString());
System.out.println("------删除所有元素-----------------------------------");
//删除一定要注意! 这里之前写的是i < ht.size(); size是变化的,因此,删除后打印时只打印了4个,这是错误的!
for(int i = 0; i < length; ++ i)
{
System.out.println("delete obj[" + i + "]");
ht.remove(i);
}
System.out.println("--------删---除---后---------------------------");
System.out.println(ht.toString());
}
}

