亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺談HashMap、HashTable的key和value是否可為null

 更新時(shí)間:2020年09月22日 11:17:46   作者:qingmengwuhen1  
這篇文章主要介紹了淺談HashMap、HashTable的key和value是否可為null,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

結(jié)論:

HashMap對(duì)象的key、value值均可為null。

HahTable對(duì)象的key、value值均不可為null。

且兩者的的key值均不能重復(fù),若添加key相同的鍵值對(duì),后面的value會(huì)自動(dòng)覆蓋前面的value,但不會(huì)報(bào)錯(cuò)。

public class Test {
 
 public static void main(String[] args) {
 Map<String, String> map = new HashMap<String, String>();//HashMap對(duì)象
 Map<String, String> tableMap = new Hashtable<String, String>();//HashTable對(duì)象
 
 map.put(null, null);
 System.out.println("hashMap的[key]和[value]均可以為null:" + map.get(null));
 
 try {
 tableMap.put(null, "3");
 System.out.println(tableMap.get(null));
 } catch (Exception e) {
 System.out.println("【ERROR】:hashTable的[key]不能為null");
 }
 
 try {
 tableMap.put("3", null);
 System.out.println(tableMap.get("3"));
 } catch (Exception e) {
 System.out.println("【ERROR】:hashTable的[value]不能為null");
 }
 } 
}

運(yùn)行結(jié)果:

hashMap的[key]和[value]均可以為null:null

【ERROR】:hashTable的[key]不能為null

【ERROR】:hashTable的[value]不能為null

補(bǔ)充知識(shí):hashmap判斷是否存在key時(shí),使用get(key)==null判斷還是containsKey?

java中hashmap(key,value)的key和value都可以是null

我們看hashmap中g(shù)et()和containskey()的方法:

public V get(Object key) {

Node

結(jié)論

如果java程序?qū)?key不存在和key存在但是存的值是null這兩種情況處理相同一視同仁,則可以直接使用

T t = map.get(key);
if(t==null){
//key不存在,或者存的值是null
}else{
//key存在
}

代替:

if(map.containskey(key)){
//key 存在
}else{
//不存在
}
T t = map.get(key);
if(t==null){
//存的值是null
}

如果java程序需要區(qū)分存的值是null和key不存在這兩種情況,則需要使用:

if(map.containskey(key)){
//key 存在
}else{
//不存在
}
T t = map.get(key);
if(t==null){
//存的值是null
}

以上這篇淺談HashMap、HashTable的key和value是否可為null就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決Tomcat修改get提交請(qǐng)求亂碼問(wèn)題

    解決Tomcat修改get提交請(qǐng)求亂碼問(wèn)題

    這篇文章主要介紹了Tomcat修改get提交請(qǐng)求亂碼問(wèn)題的解決方案,需要的朋友參考下
    2017-04-04
  • SpringBoot中TransactionTemplate事務(wù)管理的實(shí)現(xiàn)

    SpringBoot中TransactionTemplate事務(wù)管理的實(shí)現(xiàn)

    Spring Boot提供了多種方式來(lái)管理事務(wù),其中之一是使用TransactionTemplate,本文主要介紹了SpringBoot中TransactionTemplate事務(wù)管理的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • Java實(shí)現(xiàn)冪等性校驗(yàn)的示例代碼

    Java實(shí)現(xiàn)冪等性校驗(yàn)的示例代碼

    我們?cè)谧鰓eb應(yīng)用的時(shí)候通常會(huì)遇到前端提交按鈕重復(fù)點(diǎn)擊的場(chǎng)景,在某些新增操作上就需要做冪等性限制來(lái)保證數(shù)據(jù)的可靠性,所以本文主要介紹了如何使用java?aop實(shí)現(xiàn)冪等性校驗(yàn),需要的可以參考下
    2024-02-02
  • Java優(yōu)先隊(duì)列?priority?queue

    Java優(yōu)先隊(duì)列?priority?queue

    本文主要介紹了Java優(yōu)先隊(duì)列?priority?queue,優(yōu)先隊(duì)列是一種特殊的數(shù)據(jù)結(jié)構(gòu)隊(duì)列中每一個(gè)元素都被分配到一個(gè)優(yōu)先權(quán)值,出隊(duì)順序按照優(yōu)先權(quán)值來(lái)劃分。一般有兩種出隊(duì)順序高優(yōu)先權(quán)出隊(duì)或低優(yōu)先權(quán)出隊(duì),想了解具體內(nèi)容的小伙伴可以參考下文內(nèi)容,希望對(duì)你有所幫助
    2021-12-12
  • Java 覆蓋equals時(shí)總要覆蓋hashcode

    Java 覆蓋equals時(shí)總要覆蓋hashcode

    這篇文章主要介紹了Java 覆蓋equals時(shí)總要覆蓋hashcode的相關(guān)資料,這里附有實(shí)例代碼,具有參考價(jià)值,需要的朋友可以參考下
    2016-12-12
  • JAVA十大排序算法之希爾排序詳解

    JAVA十大排序算法之希爾排序詳解

    這篇文章主要介紹了java中的希爾排序,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • SpringCloud中的Feign詳解

    SpringCloud中的Feign詳解

    這篇文章主要介紹了SpringCloud中的Feign詳解,Feign是一個(gè)聲明式的Web Service客戶端,以Java接口注解的方式調(diào)用Http請(qǐng)求,同時(shí)Feign整合了Ribbon和Hystrix,實(shí)現(xiàn)負(fù)載均衡與容斷功能,需要的朋友可以參考下
    2023-09-09
  • java中form以post、get方式提交數(shù)據(jù)中文亂碼問(wèn)題總結(jié)

    java中form以post、get方式提交數(shù)據(jù)中文亂碼問(wèn)題總結(jié)

    這篇文章主要介紹了java中form以post、get方式提交數(shù)據(jù)中文亂碼問(wèn)題總結(jié),需要的朋友可以參考下
    2014-10-10
  • java微信小程序步數(shù)encryptedData和開(kāi)放數(shù)據(jù)解密的實(shí)現(xiàn)

    java微信小程序步數(shù)encryptedData和開(kāi)放數(shù)據(jù)解密的實(shí)現(xiàn)

    這篇文章主要介紹了java微信小程序步數(shù)encryptedData和開(kāi)放數(shù)據(jù)解密的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 基于SpringBoot開(kāi)機(jī)啟動(dòng)與@Order注解

    基于SpringBoot開(kāi)機(jī)啟動(dòng)與@Order注解

    這篇文章主要介紹了SpringBoot開(kāi)機(jī)啟動(dòng)與@Order注解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論