java中hashtable怎样存储数据和读取数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中hashtable怎样存储数据和读取数据相关的知识,希望对你有一定的参考价值。

用java做一个dos命令下的程序,用户的信息不能用数据库,现在用实体类加上hashtable,存储本地硬盘文件,但是不知道怎样从这个文件读取用户的有关信息,比如用户名密码年龄性别住址,谁写个小点我看下!最好也有添加删除修改的功能了,就加分!
书上有的话我就不用问,书上没有关于对用hashtable来存储对象到本地文件,也没有读取的!只说了有这个hashtable!

Hashtable-哈希表类\x0d\x0a\x0d\x0a以哈希表的形式存储数据,数据的形式是键值对.\x0d\x0a特点:\x0d\x0a查找速度快,遍历相对慢\x0d\x0a键值不能有空指针和重复数据\x0d\x0a\x0d\x0a创建\x0d\x0aHashtable ht=new \x0d\x0aHashtable();\x0d\x0a\x0d\x0a添值\x0d\x0a\x0d\x0aht.put(1,"Andy");\x0d\x0aht.put(2,"Bill");\x0d\x0aht.put(3,"Cindy");\x0d\x0aht.put(4,"Dell");\x0d\x0aht.put(5,"Felex");\x0d\x0aht.put(6,"Edinburg");\x0d\x0aht.put(7,"Green");\x0d\x0a\x0d\x0a取值\x0d\x0a\x0d\x0aString str=ht.get(1);\x0d\x0aSystem.out.println(str);// Andy\x0d\x0a\x0d\x0a对键进行遍历\x0d\x0a\x0d\x0aIterator it = ht.keySet().iterator();\x0d\x0a\x0d\x0awhile (it.hasNext()) \x0d\x0a Integer key = (Integer)it.next();\x0d\x0a \x0d\x0aSystem.out.println(key);\x0d\x0a\x0d\x0a\x0d\x0a对值进行遍历\x0d\x0a\x0d\x0aIterator it = ht.values().iterator();\x0d\x0a\x0d\x0awhile (it.hasNext()) \x0d\x0a String value =(String) it.next();\x0d\x0a \x0d\x0aSystem.out.println(value);\x0d\x0a\x0d\x0a\x0d\x0a取Hashtable记录数\x0d\x0a\x0d\x0aHashtable ht=new Hashtable();\x0d\x0a\x0d\x0aht.put(1,"Andy");\x0d\x0aht.put(2,"Bill");\x0d\x0aht.put(3,"Cindy");\x0d\x0aht.put(4,"Dell");\x0d\x0aht.put(5,"Felex");\x0d\x0aht.put(6,"Edinburg");\x0d\x0aht.put(7,"Green");\x0d\x0a\x0d\x0aint i=ht.size();// 7\x0d\x0a\x0d\x0a删除元素\x0d\x0a\x0d\x0aHashtable ht=new Hashtable();\x0d\x0a\x0d\x0aht.put(1,"Andy");\x0d\x0aht.put(2,"Bill");\x0d\x0aht.put(3,"Cindy");\x0d\x0aht.put(4,"Dell");\x0d\x0aht.put(5,"Felex");\x0d\x0aht.put(6,"Edinburg");\x0d\x0aht.put(7,"Green");\x0d\x0a\x0d\x0aht.remove(1);\x0d\x0aht.remove(2);\x0d\x0aht.remove(3);\x0d\x0aht.remove(4);\x0d\x0a\x0d\x0aSystem.out.println(ht.size());// 3\x0d\x0a\x0d\x0aIterator it = ht.values().iterator();\x0d\x0a\x0d\x0awhile (it.hasNext()) \x0d\x0a // Get value\x0d\x0a String value =(String) \x0d\x0ait.next();\x0d\x0a System.out.println(value);\x0d\x0a 参考技术A 我可以告诉你一个思路,你自己看看书,写出程序吧
象你这种情况,可以有两种方案:
一种是将用户信息存成XML文件,一种是将对象序列化存贮到硬盘
个人建议第二种,操作更方便。
实现思路基本一致,都是在初始化时,从硬盘读入数据,生成对象,然后对这个对象进行操作,退出时,将操作后的对象写回硬盘。应该不是很难的,可能序列化平常不怎么用需要好好查一下。本回答被提问者采纳
参考技术B fileinputStream,读取文件内容,再存到hashtable中。

java中怎样读取控制台输入的整形数据

参考技术A 提供Scanner得做法
import java.util.Scanner;

public class Test

public static void main(String[] args)

Scanner scanner = new Scanner(System.in);

int input = scanner.nextInt();



本回答被提问者和网友采纳
参考技术B BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String str = in.readLine();//str就是你控制台输入的一行字符串
int i=Integer.parseInt(str);
参考技术C public static void main(String[] args) throws IOException
InputStream is = System.in;
byte[] tmp = new byte[1024];
while (true)
int i = is.read(tmp, 0, 1024);
System.out.println(new String(tmp, 0, i));

以上是关于java中hashtable怎样存储数据和读取数据的主要内容,如果未能解决你的问题,请参考以下文章

Java Map 怎样实现Key 的唯一性?

Java中List,ArrayListVector,map,HashTable,HashMap区别用法

如何对 Java Hashtable 进行排序?

Java之 Hashtable

struts2 怎样读取json数据

HashMap Hashtable LinkedHashMap 和TreeMap