更新時間:2022-09-05 10:52:38 來源:動力節點 瀏覽1191次
HashMap 是一個散列表,它存儲的內容是鍵值對(key-value)映射。
HashMap實現了Map接口,根據鍵值的HashCode存儲數據,最多允許一條的訪問速度,記錄的鍵為null,不支持線程同步。
HashMap 是無序的,即不會記錄的順序。
HashMap繼承于AbstractMap,實現了Map、Cloneable、java.io.Serializable接口。
HashMap 的 key 和 value 類型可以相同也可以不同,可以是字符串(String)類型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)的 value。
HashMap 中的元素實際上是對象,一些常見的基本類型可以使用它的包裝類。
HashMap 類提供了很多有用的方法,添加鍵值對(key-value)可以使用 put() 方法:
// 引入 HashMap 類
import java.util.HashMap ;
public class RunoobTest {
public static void main ( String [ ] args ) {
// 創建 HashMap 對象 Sites
HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
// 添加鍵值對
站點。放(1,“谷歌” );
網站。放(2,“Runoob” );
網站。put ( 3 , “淘寶” ) ;
網站。放(4、《知乎》);
系統。出來。println (網站) ;
}
}
執行以上代碼,輸出結果如下:
{1=谷歌, 2=Runoob, 3=淘寶, 4=知乎}1 =谷歌2 = Runoob 3 =淘寶4 =知乎}
實例創建一個字符串(String)類型的鍵和字符串(String)類型的值:
// 引入 HashMap 類
import java.util.HashMap ;
public class RunoobTest {
public static void main ( String [ ] args ) {
// 創建 HashMap 對象 Sites
HashMap < String , String > Sites = new HashMap < String , String > ( ) ;
// 添加鍵值對
站點。放(“一個”,“谷歌” );
網站。放(“兩個”,“Runoob” );
網站。put ( “三”、“淘寶” ) ;
網站。放(“四”、“知乎” );
系統。出來。println (網站) ;
}
}
執行以上代碼,輸出結果如下:
{四=知乎,一=谷歌,二=Runoob,三=淘寶}四=知乎,一=谷歌,二= Runoob ,三=淘寶}
我們可以使用 get(key) 方法來獲取 key 的值:
// 引入 HashMap 類
import java.util.HashMap ;
public class RunoobTest {
public static void main ( String [ ] args ) {
// 創建 HashMap 對象 Sites
HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
// 添加鍵值對
站點。放(1,“谷歌” );
網站。放(2,“Runoob” );
網站。put ( 3 , “淘寶” ) ;
網站。放(4、《知乎》);
系統。出來。println (站點。獲取(3 ));
}
}
執行以上代碼,輸出結果如下:
淘寶
我們可以使用 remove(key) 方法來刪??除 key 的鍵值對(key-value):
// 引入 HashMap 類
import java.util.HashMap ;
public class RunoobTest {
public static void main ( String [ ] args ) {
// 創建 HashMap 對象 Sites
HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
// 添加鍵值對
站點。放(1,“谷歌” );
網站。放(2,“Runoob” );
網站。put ( 3 , “淘寶” ) ;
網站。放(4、《知乎》);
網站。刪除(4 );
系統。出來。println (網站) ;
}
}
執行以上代碼,輸出結果如下:
{1=谷歌, 2=Runoob, 3=淘寶}1 =谷歌, 2 = Runoob , 3 =淘寶}
刪除所有鍵值對(key-value)可以使用清除方法:
// 引入 HashMap 類
import java.util.HashMap ;
public class RunoobTest {
public static void main ( String [ ] args ) {
// 創建 HashMap 對象 Sites
HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
// 添加鍵值對
站點。放(1,“谷歌” );
網站。放(2,“Runoob” );
網站。put ( 3 , “淘寶” ) ;
網站。放(4、《知乎》);
網站。清除( ) ;
系統。出來。println (網站) ;
}
}
執行以上代碼,輸出結果如下:
{}
如果計算 HashMap 中的元素數量可以使用 size() 方法:
// 引入 HashMap 類
import java.util.HashMap ;
public class RunoobTest {
public static void main ( String [ ] args ) {
// 創建 HashMap 對象 Sites
HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
// 添加鍵值對
站點。放(1,“谷歌” );
網站。放(2,“Runoob” );
網站。put ( 3 , “淘寶” ) ;
網站。放(4、《知乎》);
系統。出來。println (站點。大小( ) ) ;
}
}
執行以上代碼,輸出結果如下:
4
使用 for-each 可以重復 HashMap 中的元素。
如果你只需要獲取key,就可以使用keySet()方法,然后可以通過get(key)獲取的值,如果你獲取某個值,可以使用()方法。
// 引入 HashMap 類
import java.util.HashMap ;
public class RunoobTest {
public static void main ( String [ ] args ) {
// 創建 HashMap 對象 Sites
HashMap < Integer , String > Sites = new HashMap < Integer , String > ( ) ;
// 添加鍵值對
站點。放(1,“谷歌” );
網站。放(2,“Runoob” );
網站。put ( 3 , “淘寶” ) ;
網站。放(4、《知乎》);
// 輸出 key 和value
for ( Integer i : Sites.keySet ( ) ) { System . 出來。println ( "key: " + i + " value: " + Sites.get ( i )
) ;
}
// 返回所有 value 值
for ( String value : Sites.values ( ) ) { // 輸出每個值System . 出來。打印(值+ “,” );} } }
執行以上代碼,輸出結果如下:
鍵:1 值:谷歌
鍵:2 值:Runoob
鍵:3 值:淘寶
鍵:4 值:知乎
谷歌、Runoob、淘寶、知乎、
以上就是關于“Java中HashMap詳解”的介紹,如果大家想了解更多相關知識,不妨來關注一下動力節點的HashMap底層實現原理視頻教程,里面的課程內容細致全面,通俗易懂,適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習