天天看點

java 循環map kay_HashMap合并相同key的value

Map map1 = new HashMap<>();

map1.put("x", "y");

map1.put("a", "b");

map1.put("c", "d");

map1.put("e", "d");

map1.put("f", "b");

map1.put("m", "n");

Map> map2 = new HashMap<>();

String entryValue = null;

String entryKay = null;

ArrayList tmpValue = new ArrayList<>();

ArrayList tmpMap2Value = new ArrayList<>();

for (Entry entry : map1.entrySet()) {

tmpValue.clear();

tmpMap2Value.clear();

entryKay = entry.getKey();

entryValue = entry.getValue();

if (map2.keySet().contains(entryValue)) {

tmpMap2Value = map2.get(entryValue);

tmpMap2Value.add(entryKay);

map2.put(entryValue, (ArrayList) tmpMap2Value.clone());

} else {

tmpValue.add(entryKay);

map2.put(entryValue, (ArrayList) tmpValue.clone());

}

}

System.out.println(map2);

java 循環map kay_HashMap合并相同key的value

Java不能 通過簡單的指派來解決對象複制的問題,需要利用clone實作。

【轉】HashMap集合中key隻能為引用資料類型,不能為基本類型

在HashMap中,為什麼不能使用基本資料類型作為key? 其實和HashMap底層的存儲原理有關,HashMap存儲資料的特點是:無序.無索引.不能存儲重複元素. 存儲元素采用的是hash表存儲資料 ...

HashMap 的周遊key與value的方法

HashMap最經常使用的使用方法是依據key增删改查value,有時候會須要知道一個HashMap有多少個keys以及這些keys都是什麼,能夠用以下的代碼實作. 方法1: Map map = ne ...

一個簡單需求:HashMap實作相同key存入資料後不被覆寫

做一個積極的人 編碼.改bug.提升自己 我有一個樂園,面向程式設計,春暖花開! 看似是一個簡單的問題,其實裡面包含很多的東西! 需求: 實作一個在HashMap中存入(任意類型)相同的key值後,key ...

JDK1&period;7的HashMap的put&lpar;key&comma; value&rpar;源碼剖析

目錄 HashMap的put操作源碼解析 1.官方文檔 2.put(key, value) 3.完結 HashMap的put操作源碼解析 1.官方文檔 1.1.繼承結構 java.lang.Objec ...

如何高效的周遊HashMap 以及對key 進行排序

Map map = new HashMap(); for(int i = 0; i<=100;i++){ ...

java自定義類型 作為HashMap中的Key值 (Pair&lt&semi;V&comma;K&gt&semi;為例)

由于是自定義類型,是以HashMap中的equals()方法和hashCode()方法都需要自定義覆寫. 不然内容相同的對象對應的hashCode會不同,無法發揮算法的正常功能,覆寫equals方法, ...

Java - HashMap分别按Key和Value進行排序

我們都知道,Java中的Map結構是key->value鍵值對存儲的,而且根據Map的特性,同一個Map中 不存在兩個Key相同的元素,而value不存在這個限制.換句話說,在同一個Map中Ke ...

使用HashMap,如果key是自定義的類,就必須重寫hashcode&lpar;&rpar;和equals&lpar;&rpar;

java程式設計裡有關約定:如果兩個對象根據equals方法比較是相等的,那麼調用這兩個對象的任意一個hashcode方法都必須産生相同的結果. hashcode()和equals()都繼承于object ...

随機推薦

JPA 批量新增

1. 在實作類 增加 EntityManager 注入 private EntityManager em; @PersistenceContext(name = "EntityManager ...

深入了解inode與軟硬連結

一.inode是什麼? 了解inode,要從檔案儲存說起. 檔案儲存在硬碟上,硬碟的最小存儲機關叫做"扇區"(Sector).每個扇區儲存512位元組(相當于0.5KB). 作業系統 ...

【CSDN部落格之星】2013年CSDN部落格之星正在評選,希望大家支援,非常感謝!

首先在此感謝 MoreWindows 秒殺多線程面試題系列讓我成長和學習,同時也借鑒了很多優秀觀點和示例! 請各位讀者可以支援MoreWindows,讓更優秀的文章陪伴我們! 各位讀者好, 本人部落格自 ...

【C&plus;&plus;基礎】關鍵字static 局部變量

1.局部變量 static局部變量和普通局部變量有什麼差別:static局部變量隻被初始化一次,下一次依據上一次結果值: int test(int j){ static int i=10; i=i+j ...

FZU 1753

題目的思路還是很簡單的,找出這些組合數中最大的公約數: 其中C(n,k)=n ! /k!/(n-k)! 是以枚舉每個素因數,用(n!)的減去(k!)和(n-k)!的就行了... 最後取每組的最小值 # ...

Linux多線程實踐&lpar;7&rpar; --多線程排序對比

屏障 int pthread_barrier_init(pthread_barrier_t *restrict barrier, const pthread_barrierattr_t *restri ...

&lbrack;AGC001 E&rsqb; BBQ Hard

Description 有\(N(N\leq 200000)\)個數對\((a_i,b_i)(a_i,b_i,\leq 2000)\),求出\(\sum\limits_{i=1}^n\sum\limi ...

leetCode 典型回溯例子

39題,翻譯題目:給定一組候選集和一個目标值,在c的所有組合中,找出所有總和等于T的組合. 候選數組c中同一個數可以被選擇多次(不限次數) 分析: 典型的回溯法應用 對數組裡面的每個數,用遞歸的方式相 ...

《算法》第四章部分程式 part 11

▶ 書中第四章部分程式,包括在加上自己補充的代碼,二分圖的判定和染色 ● 二分圖 1 //+------------------------------------------------------ ...

R中的空間資料分析

> library(sp) > library(maptools) > library(raster) > library(rgeos) > maxd3 = readAs ...