淺談Java中Map和Set之間的關(guān)系(及Map.Entry)
1、通過查找API文檔:
2、Map.Entry是一個(gè)接口,所以不能直接實(shí)例化。
3、Map.entrySet( )返回的是一個(gè)collection集合,并且,這個(gè)collection中的元素是Map.Entry類型,如下圖所示:
4、
Map是Java中的接口,Map.Entry是Map的一個(gè)內(nèi)部接口。java.util.Map.Entry接口主要就是在遍歷map的時(shí)候用到。
Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一個(gè)Set集合,此集合的類型為Map.Entry。
Map.Entry是Map聲明的一個(gè)內(nèi)部接口,此接口為泛型,定義為Entry<K,V>。它表示Map中的一個(gè)實(shí)體(一個(gè)key-value對)。接口中有g(shù)etKey(),getValue方法。
package Demo; import java.util.*; import java.util.Map.*; public class DemoMap { public static void main(String[] args) { text1(); System.out.println("========================================================="); text2(); } public static void text1(){ Map<Integer,String> DemoMap=new HashMap<Integer,String>(); DemoMap.put(4, "dddd"); DemoMap.put(1, "a"); DemoMap.put(3, "ccc"); DemoMap.put(2, "bb"); Collection<Map.Entry<Integer,String>> set=DemoMap.entrySet(); System.out.println("set=="+set); Iterator<Map.Entry<Integer, String>> it=set.iterator(); Map.Entry<Integer,String> entry; while(it.hasNext()){ entry=it.next(); System.out.println("en.getKey()=="+entry.getKey()); System.out.println("en.getValue()=="+entry.getValue()); } } public static void text2(){ Map<Integer,String> DemoMap=new LinkedHashMap<Integer,String>(); DemoMap.put(4, "dddd"); DemoMap.put(1, "a"); DemoMap.put(3, "ccc"); DemoMap.put(2, "bb"); Iterator<Entry<Integer,String>> set=DemoMap.entrySet().iterator(); Entry<Integer,String> temp; while(set.hasNext()){ temp=set.next(); System.out.println("getKey()=="+temp.getKey()); System.out.println("getValue()=="+temp.getValue()); } } }
輸出結(jié)果為:
以上這篇淺談Java中Map和Set之間的關(guān)系(及Map.Entry)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
線程池調(diào)用kafka發(fā)送消息產(chǎn)生的內(nèi)存泄漏問題排查解決
這篇文章主要為大家介紹了線程池調(diào)用kafka發(fā)送消息產(chǎn)生的內(nèi)存泄漏問題排查解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08java數(shù)據(jù)類型與二進(jìn)制詳細(xì)介紹
這篇文章主要介紹了java數(shù)據(jù)類型與二進(jìn)制詳細(xì)介紹的相關(guān)資料,這里對數(shù)據(jù)類型進(jìn)行了一一介紹分析,并說明自動(dòng)轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換,需要的朋友可以參考下2017-07-07解決get請求入?yún)NotNull驗(yàn)證不生效問題
這篇文章主要介紹了解決get請求入?yún)NotNull驗(yàn)證不生效問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Springboot?JPA如何使用distinct返回對象
這篇文章主要介紹了Springboot?JPA如何使用distinct返回對象,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02詳解Spring?@Lazy注解為什么能破解死循環(huán)
這篇文章主要來和大家探討一下Spring中的@Lazy注解為什么能破解死循環(huán),文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,需要的可以了解一下2023-07-07Java中的StampedLock實(shí)現(xiàn)原理詳解
這篇文章主要介紹了Java中的StampedLock實(shí)現(xiàn)原理詳解,ReentrantReadWriteLock采用悲觀讀,第一個(gè)讀線程拿到鎖后,第二個(gè)/第三個(gè)讀線程可以拿到鎖,特別是在讀線程很多,寫線程很少時(shí),需要的朋友可以參考下2024-01-01Java 反射調(diào)用靜態(tài)方法的簡單實(shí)例
下面小編就為大家?guī)硪黄狫ava 反射調(diào)用靜態(tài)方法的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06Mybatis和orcale update語句中接收參數(shù)為對象的實(shí)例代碼
Mybatis的 mapper.xml 中 update 語句使用 if 標(biāo)簽判斷對像屬性是否為空值。本文重點(diǎn)給大家介紹Mybatis和orcale update語句中接收參數(shù)為對象的實(shí)例代碼,需要的朋友參考下吧2017-09-09windows系統(tǒng)使用mvn命令打包并指定jdk路徑方式
這篇文章主要介紹了windows系統(tǒng)使用mvn命令打包并指定jdk路徑方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04