当前位置:首页 » 服务存储 » 哈希存储java怎么写
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

哈希存储java怎么写

发布时间: 2022-01-22 00:07:40

1. java小问题,使用哈希表储存元素(比如说字符串),我们老师是把哈希表比作一个数组,然后通过算法计

哈希表要占用比成员数据略大的连续地址空间。比如你存10个数,可能需要申请20个数的地址空间a[20].
散列函数把这10个数分别散落在这20个空间中,好的散列函数生成的地址值需要没有碰撞冲突,2个数据出现在一个地址空间的机率要最小化...

2. 关于java的哈希值

看看JDK API文档,记得里面有例子的
HashMap 或 HashTable

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

我可以告诉你一个思路,你自己看看书,写出程序吧
象你这种情况,可以有两种方案:
一种是将用户信息存成XML文件,一种是将对象序列化存贮到硬盘
个人建议第二种,操作更方便。
实现思路基本一致,都是在初始化时,从硬盘读入数据,生成对象,然后对这个对象进行操作,退出时,将操作后的对象写回硬盘。应该不是很难的,可能序列化平常不怎么用需要好好查一下。

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

Hashtable-哈希表类

以哈希表的形式存储数据,数据的形式是键值对.
特点:
查找速度快,遍历相对慢
键值不能有空指针和重复数据

创建
Hashtable<Integer,String> ht=new
Hashtable<Integer,String>();

添值

ht.put(1,"Andy");
ht.put(2,"Bill");
ht.put(3,"Cindy");
ht.put(4,"Dell");
ht.put(5,"Felex");
ht.put(6,"Edinburg");
ht.put(7,"Green");

取值

String str=ht.get(1);
System.out.println(str);// Andy

对键进行遍历

Iterator it = ht.keySet().iterator();

while (it.hasNext()) {
Integer key = (Integer)it.next();

System.out.println(key);
}

对值进行遍历

Iterator it = ht.values().iterator();

while (it.hasNext()) {
String value =(String) it.next();

System.out.println(value);
}

取Hashtable记录数

Hashtable<Integer,String> ht=new Hashtable<Integer,String>();

ht.put(1,"Andy");
ht.put(2,"Bill");
ht.put(3,"Cindy");
ht.put(4,"Dell");
ht.put(5,"Felex");
ht.put(6,"Edinburg");
ht.put(7,"Green");

int i=ht.size();// 7

删除元素

Hashtable<Integer,String> ht=new Hashtable<Integer,String>();

ht.put(1,"Andy");
ht.put(2,"Bill");
ht.put(3,"Cindy");
ht.put(4,"Dell");
ht.put(5,"Felex");
ht.put(6,"Edinburg");
ht.put(7,"Green");

ht.remove(1);
ht.remove(2);
ht.remove(3);
ht.remove(4);

System.out.println(ht.size());// 3

Iterator it = ht.values().iterator();

while (it.hasNext()) {
// Get value
String value =(String)
it.next();
System.out.println(value);
}

5. java怎么输出哈希表的存储方式

额。。用hashmap可以吗?或者hashset?我都是用的这个

6. JAVA中哈希码具体是什么

hashcode返回的数值可以做一个比较器 一般情况下 如果hashCode相同 则equals应该也判定相等 就像MD5一样 可以理解成某块具体的地址 有一一对应的映射关系

7. 用java编写哈希表,输入一组数据,创建一个哈希表,然后进行元素的查询、删除

简单的理解为key是value的代号,比如 HashMap map = new HashMap();
map.put("小王","王尼玛");

map.put("小黄","黄世仁");

小王就是王尼玛的key ,王尼玛 就是value本身,
map.get("小王") 得到的就是 王尼玛;

8. python的哈希值如何用java编写

MessageDigest md = MessageDigest.getInstance("MD5");
FileInputStream fis = new FileInputStream(outputFile);
byte[] dataBytes = new byte[1024];
int nread = 0;
while ((nread = fis.read(dataBytes)) != -1) {
md.update(dataBytes, 0, nread);
}
byte[] mdbytes = md.digest();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < mdbytes.length; i++) {
sb.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1));
}
String output_md5 = sb.toString();

9. java语言中,128位的文件hash值用什么数据类型存储比较好要求定长。

用16个字节的byte a[]=byte[16];
或者2个long存储,long a[]=new long[2];

用位运算处理java的“有符号”
比如取有符号的byte,用容量大一级的short或int保存转换后的无符号数据;
byte b=-1;
short s=(short) b&0xff; //转换成无符号

取long的最高字节,(包括符号位在内)
long l=l>>>56;

10. java 怎么写hashcode

当你要overwrite方法equal是,要overwrite复写hashCode

publicclassEmp
{
privateintage;
publicEmp(intage)
{
super();
this.age=age;
}
publicinthashCode()
{
returnage;
}
publicbooleanequals(Objectobj)
{
booleanflag=false;
Empemp=(Emp)obj;
if(emp.age==age)
flag=true;
returnflag;
}
}