導航:首頁 > 編程語言 > javamapkey可以重復

javamapkey可以重復

發布時間:2022-09-19 06:22:42

java map key可以重復嗎

如果重復添加的話,hashmap會自動覆蓋key一樣的數據,保證一個key對應一個value

也就是說,你只要把一個map2里的數據按照key一個一個都加到map1里去就行了,但是這樣會破壞map1
如果是想保持原來的不變,可以先新建一個空的hashmap,把map1和map2的數據都加進去就可以了

HashMap map3 = new HashMap();
for (Object key : map1.keySet())
map3.put(key, map1.get(key));
for (Object key : map2.keySet())
map3.put(key, map2.get(key));
可以根據具體的類型加上泛型模板
分享

❷ java map去重

map的key是不會重的,所以我就認為你是需要將value去重。
可以遍歷map,將value存入一個set中,然後遍歷時判斷是否已經存在於set。

❸ java map哪些不能存儲重復的key

JAVA的MAP都不能存儲重復的KEY
我估計你想問題的問題是 JAVA的哪些容器不能儲存重復的KEY吧?
MAP,SET ,都不能儲存重復的值.,並且保存的內容是沒有順序的.所以很多程序員用map或set來進行去重功能.
list 是可以保存重復的值.而且保存的內容是有順序的.所以可以通過list.get(index)來獲得對應位置的數據.

❹ Java中的Map允許有重復元素嗎

首先Map是鍵值對集合,因為map是無序的鍵和值是一一對應的,一個鍵(key)對應一個值,通過鍵(key)來找值,但是如果你定義兩個同樣的key,這樣就違背了java對map的定義,鍵和值是一一對應的;

特別說明:建的值是不能相同的,這個語法會報錯,

但是如果你的鍵是引用類型(存的是地址),在語法上是不會報錯的,後一個會將前一個覆蓋,從而指向後一個鍵的值

publicclassTestEquals{

publicstaticvoidmain(String[]args){
Strings1=newString("abc");
Strings2=newString("abc");

Mapmap=newHashMap();
map.put(s1,"abc123");
map.put(s2,"ABC456");//第二個會覆蓋第一個元素
System.out.println(map.size());
System.out.println(map.get(s1));
}

❺ JAVA中的List里的Map 如何去除重復的Key

「可以利用Map的key不重復特性: 遍歷List,遍歷過程中將List中取出的值作為key保存到一個臨時的Map中,Map的value可以自己隨意設定。 注意,在保存到Map之前,使用map.get("key")從Map中獲取對應是數據,判斷是否為null即可判斷該List中的值是否...」

❻ java map key可以重復嗎

在Java中,有一種key值可以重復的map,就是IdentityHashMap。在IdentityHashMap中,判斷兩個鍵值k1和 k2相等的條件是 k1 == k2 。在正常的Map 實現(如 HashMap)中,當且僅當滿足下列條件時才認為兩個鍵 k1 和 k2 相等:(k1==null ? k2==null : e1.equals(e2))。

IdentityHashMap類利用哈希表實現 Map 介面,比較鍵(和值)時使用引用相等性代替對象相等性。該類不是 通用 Map 實現!此類實現 Map 介面時,它有意違反 Map 的常規協定,該協定在比較對象時強制使用 equals 方法。此類設計僅用於其中需要引用相等性語義的罕見情況。

具體說明,詳見:http://download.oracle.com/javase/6/docs/api/java/util/IdentityHashMap.html

http://www.cjsdn.net/Doc/JDK50/java/util/IdentityHashMap.html

在使用IdentityHashMap有些需要注意的地方:

例子1:

[java] view plain
IdentityHashMap<String,Object> map =newIdentityHashMap<String,Object>();
map.put(newString("xx"),"first");
map.put(newString("xx"),"second");
for (Entry<String, Object> entry : map.entrySet()) {
System.out.print(entry.getKey() +" ");
System.out.println(entry.getValue());
}
System.out.println("idenMap="+map.containsKey("xx"));
System.out.println("idenMap="+map.get("xx"));
輸出結果是:

[plain] view plain
xx first
xx second
idenMap=false
idenMap=null

例子2:

[java] view plain
IdentityHashMap<String,Object> map =newIdentityHashMap<String,Object>();
String fsString =newString("xx");
map.put(fsString,"first");
map.put(newString("xx"),"second");
for(Entry<String, Object> entry : map.entrySet()) {
System.out.print(entry.getKey() +" ");
System.out.println(entry.getValue());
}
System.out.println("idenMap="+map.containsKey(fsString));
System.out.println("idenMap="+map.get(fsString));

輸出結果是:

[plain] view plain
xx second
xx first
idenMap=true
idenMap=first

例子3:

[java] view plain
IdentityHashMap<String,Object> map =newIdentityHashMap<String,Object>();
String fsString =newString("xx");
map.put(fsString,"first");
map.put(fsString,"second");
for(Entry<String, Object> entry : map.entrySet()) {
System.out.print(entry.getKey() +" ");
System.out.println(entry.getValue());
}
System.out.println("idenMap="+map.containsKey(fsString));
System.out.println("idenMap="+map.get(fsString));

輸出結果是:

[plain] view plain
xx second
idenMap=true
idenMap=second

例子4:

[java] view plain
IdentityHashMap<String,Object> map =newIdentityHashMap<String,Object>();
String fsString =newString("xx");
String secString =newString("xx");
map.put(fsString,"first");
map.put(secString,"second");
for(Entry<String, Object> entry : map.entrySet()) {
System.out.print(entry.getKey() +" ");
System.out.println(entry.getValue());
}
System.out.println("idenMap="+map.containsKey(fsString));
System.out.println("idenMap="+map.get(fsString));

System.out.println("idenMap="+map.containsKey(secString));
System.out.println("idenMap="+map.get(secString));

輸出結果是:

[plain] view plain
xx first
xx second
idenMap=true
idenMap=first
idenMap=true
idenMap=second

❼ java map中如何判斷key是否相同

key,存儲的是一個對象的引用,只要兩個引用指向同一個內存地址,那麼這兩個key就是相同的。

閱讀全文

與javamapkey可以重復相關的資料

熱點內容
蘋果數據線頭歪了 瀏覽:135
ghostwin764位系統鏡像文件 瀏覽:443
感測器視頻教程下載 瀏覽:95
flash源文件賀卡下載 瀏覽:434
如何提高網路扶貧的效果 瀏覽:654
飛車軟體文件夾叫什麼 瀏覽:242
刷ec用什麼編程器 瀏覽:765
方菱數控u盤文件格式 瀏覽:260
編程為什麼輸出兩個變數 瀏覽:490
衛星大鍋2017用升級嗎 瀏覽:113
玉米win10系統下載 瀏覽:134
fgo技能升級減cd嗎 瀏覽:129
什麼記賬app免費好用 瀏覽:441
網路檢測可以檢測到什麼 瀏覽:504
sip協議教程 瀏覽:832
編程哪裡可以接項目 瀏覽:119
孤島驚魂win10 瀏覽:246
網路HRV是什麼意思 瀏覽:918
word框中打勾 瀏覽:577
tcl筆試題java 瀏覽:467

友情鏈接