一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java中 Set與Map排序輸出到Writer詳解及實(shí)例

java中 Set與Map排序輸出到Writer詳解及實(shí)例

2020-09-01 09:4910km Java教程

這篇文章主要介紹了 java中 Set與Map排序輸出到Writer詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下

 java中 Set與Map排序輸出到Writer詳解及實(shí)例

一般來說java.util.Set,java.util.Map輸出的內(nèi)容的順序并不是按key的順序排列的,但是java.util.TreeMap,java.util.TreeSet的實(shí)現(xiàn)卻可以讓Map/Set中元素內(nèi)容以key的順序排序,所以利用這個(gè)特性,可以將Map/Set轉(zhuǎn)為TreeMap,TreeSet然后實(shí)現(xiàn)排序輸出。
以下是實(shí)現(xiàn)的代碼片段:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
  * 對(duì){@link Map}中元素以key排序后,每行以{key}={value}形式輸出到{@link Writer}<br>
  * map為空或null時(shí)則不向writer寫入任何內(nèi)容
  * @param map
  * @param writer 為null拋出{@link IllegalArgumentException}
  * @throws IOException
  */
 public static void storeSortedMap(Map<String,String> map,Writer writer) throws IOException {
   if(null==writer)
     throw new IllegalArgumentException("the arugment 'writer' must not be null ");
   TreeMap<String, String> sortedMap = new TreeMap<String,String>();
   if(null!=map)
     sortedMap.putAll(map);
   BufferedWriter bw=(writer instanceof BufferedWriter)?(BufferedWriter)writer
       : new BufferedWriter(writer);
   for (Entry<String,String> e:sortedMap.entrySet()) {
     bw.write(e.getKey() + "=" + e.getValue());
     bw.newLine();
   }
   bw.flush();
 }
 /**
  * 對(duì) {@link Collection}中元素排序后(去除重復(fù)),元素分行輸出到{@link Writer}<br>
  * collection為空或null時(shí)則不向writer寫入任何內(nèi)容
  * @param collection
  * @param writer 為null拋出{@link IllegalArgumentException}
  * @throws IOException
  */
 public static void storeSortedSet(Collection<String> collection,Writer writer) throws IOException {
   if(null==writer)
     throw new IllegalArgumentException("the arugment 'writer' must not be null ");
   TreeSet<String> sortedSet = new TreeSet<String>();
   if(null!=collection)
     sortedSet.addAll(collection);
   BufferedWriter bw=(writer instanceof BufferedWriter)?(BufferedWriter)writer
       : new BufferedWriter(writer);
   for (String e:sortedSet) {    
     bw.write(e);
     bw.newLine();
   }
   bw.flush();
 }

調(diào)用示例如下:

?
1
2
3
4
5
6
Map<String,String> map;
//....
storeSortedMap(map,new FileWriter(new File("c:\\id.txt")));
Set<String,String> set;
//....
storeSortedSet(set,new FileWriter(new File("c:\\trainval.txt")));

生成結(jié)果已經(jīng)是排序的了

java中 Set與Map排序輸出到Writer詳解及實(shí)例

java中 Set與Map排序輸出到Writer詳解及實(shí)例

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品一区二区三区五区六区七区 | 五月天国产视频 | 色悠久久久 | 草大逼 | 极品美女写真菠萝蜜视频 | 91色爱| 亚洲第99页 | 成人1234| 午夜福利合集1000在线 | 日本一区二区三区国产 | 日韩视频免费一区二区三区 | 国产精品久久久久a影院 | 奶茶视频官网免费 | 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | 国产毛片一级aaaaa片 | 91看片淫黄大片.在线天堂 | 包臀裙女教师波多野结衣 | 午色影院 | 全肉一女n男np高h乳 | yellow片在线观看 | 国产成人亚洲精品91专区高清 | 99re这里都是精品 | 无人区1免费完整观看 | 高跟翘臀老师后进式视频 | 亚洲成av人片在线观看天堂无码 | 大陆国产vs国产对白 | 国产久热香蕉在线观看 | 操娇妻 | 艾秋果冻麻豆老狼 | 四虎最新紧急更新地址 | 校园纯肉H教室第一次 | 鸭子玩富婆流白浆视频 | 五月天色小说 | 99久久精品免费看国产情侣 | 亚洲午夜久久久 | 国产一级毛片潘金莲的奶头 | 99久久国产视频 | 性xxxx中国老妇506070 | 武侠艳妇屈辱的张开双腿 | 日本在线www | 羞羞在线观看 |