在實際開發和應用中,漸漸發現map的一些常用操作和小技巧,今天記錄一下。
1.map遍歷
map遍歷有幾種形式,可以根據key進行遍歷,可以根據value進行遍歷,可以直接遍歷整個map,以及迭代遍歷等等。
1.1根據key進行遍歷
// keyset 獲取key
public void testkeyset()
}
這樣你遍歷出來的是你當前集合的key.
1.2根據value進行遍歷
// values 獲取value
public void testvalues()
}
拿到的就是集合當中的value值。
1.3通過增強for迴圈遍歷map
mapcmap = new hashmap<>();
for (map.entryentry : map.entryset())
}
這邊是通過遍歷整個map陣列,然後判斷該陣列裡面的值是否為空來進行儲存,這種形式一般在呼叫第三方介面時對資料進行特殊處理需要做到的操作。
1.4list和map的結合
list> list = new arraylist<>();
list> notifylist = new arraylist<>();
file jsonfile = resourceutils.getfile("classpath:city.json");
string jsonsting = fileutils.readfiletostring(jsonfile);
jsonobject json = jsonobject.parseobject(jsonsting);
//1,載入**商
jsonarray arraycity = jsonarray.parsearray(json.getstring("citycode"));
for (int i=0;imaps = new treemap<>();
jsonobject jsoncity = jsonobject.parseobject(arraycity.get(i).tostring());
maps.put("apibizcode",jsoncity.getstring("apibizcode"));
maps.put("supplierbizcode",jsoncity.getstring("supplierbizcode"));
maps.put("suppliercode",jsoncity.getstring("suppliercode"));
list.add(maps);
}
首先可以通過map陣列來對資料進行裝載,然後將整個map放入到集合中。這樣的好處是用list進行取資料是很快速的,不同於map需要根據自己的鍵和值進行匹配。
maptemp = notifylist.get(i);
可以通過這樣一行**來提取list中的map,在我看來是比較方便快捷的。
2.map排序
因為map本身就是通過key--value的形式來儲存和取出資料的,但是為了讓資料存入到資料庫不是雜亂無章的,且不需要通過sql語句進行校正,所以我們要用到中間的乙個map型別----treemap來進行排序。
public static void main(string args)
});
treemap2.put("2", "1");
treemap2.put("3", "1");
treemap2.put("1", "1");
treemap2.put("4", "1");
system.out.println("treemap2="+treemap2);
}
3.map靈活運用
在一些開發過程中,你可以將一些公共的東西抽象出來到乙個map集合的方法中,只用相應的map去進行接收即可。
public mapinitparammap()
mapparams = initparammap();
這樣可以減少**的冗餘程度。 介面Map的運用和方法
統計字串出現次數樣式 思路統計功能 public class hashmapdemo 字元出現次數統計功能 param str return public static string cishu string str else stringbuffer sb newstringbuffer for ...
關於Map集合的運用
在學map的時候,肯定是懵逼的,所以要先進行了解map的定義,然後看看map的應用 接下來我們先了解下map 初識map map集合中存放的都是一組組對映關係 key value 在集合中允許巢狀,key不能重複 注意 在map中增加不同於其他的集合,其他的集合用add 來增加,而map是用put ...
STL中的map和multimap小結
1 使用map multimap之前必須包含標頭檔案 include並且和所有的關聯式容器一樣,map multimap通常以平衡二叉樹來完成 2 namespacestd 第乙個template引數被當作元素的key,第二個當作元素的value。key value必須具備assignable和co...