色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java稀疏數組和hash表

林子帆1年前7瀏覽0評論

Java語言中有兩個非常常用的數據結構是稀疏數組和哈希表。下面分別來介紹一下它們的使用方法和特點。

// 稀疏數組示例
int[][] sparseArray = new int[row][col];
int count = 0;
for (int i = 0; i< row; i++) {
for (int j = 0; j< col; j++) {
if (sparseArray[i][j] != 0) {
count++;
}
}
}
int[][] compactArray = new int[count + 1][3];
compactArray[0][0] = row;
compactArray[0][1] = col;
compactArray[0][2] = count;
int index = 1;
for (int i = 0; i< row; i++) {
for (int j = 0; j< col; j++) {
if (sparseArray[i][j] != 0) {
compactArray[index][0] = i;
compactArray[index][1] = j;
compactArray[index][2] = sparseArray[i][j];
index++;
}
}
}
// 哈希表示例
MaphashMap = new HashMap<>();
hashMap.put("key1", "value1");
hashMap.put("key2", "value2");
hashMap.put("key3", "value3");
String value1 = hashMap.get("key1");
String value2 = hashMap.get("key2");
String value3 = hashMap.get("key3");
hashMap.remove("key3");

稀疏數組的作用是將大多數元素為0的二維數組轉換為簡潔的三元組,可以大大節省存儲空間。在上面的示例中,我們首先遍歷稀疏數組,確定其中非0元素的數量,然后新建一個緊湊形式的二維數組,將原數組中非0元素的行列位置和值存儲在其中。這樣,我們就可以通過緊湊數組的第一行記錄原始數組的行數、列數和非0元素數量來重新還原出原始的二維數組。

哈希表是一種以鍵值對存儲數據的數據結構,可以實現高效的搜索、插入和刪除。在上面的示例中,我們使用了Java語言中的Map接口實現了一個哈希表,可以方便地通過鍵獲取對應的值,并且可以隨時對鍵值對進行增、刪、改的操作。需要注意的是,在進行哈希操作時,經常需要重寫hashCode()和equals()方法。