當前位置:首頁 » 服務存儲 » 哈希存儲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;
}
}