1. 程式人生 > >hashmap,使用iterator讀取後順序改變

hashmap,使用iterator讀取後順序改變

public LinkedHashMap<String, String> ReadDistrictAndCity() {LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();SAXReader reader = new SAXReader();Document doc = null;try {InputStream in = getClass().getClassLoader().getResourceAsStream("district-city.xml");doc = reader.read(in);} catch (DocumentException e1) {e1.printStackTrace();}Element RECORDS = doc.getRootElement();Element foo = null;for (Iterator i = RECORDS.elementIterator("RECORD"); i.hasNext();) {foo = (Element) i.next();// System.out.println(foo.elementText("CITY").toString()+"___"+foo.elementText("DISTRICT").toString());map.put(foo.elementText("CITY").toString(), foo.elementText("DISTRICT").toString());}return map;}採用LinkedHashMap讀取後順序不會亂hashmap類是雜湊對映並不保證它的元素順序.因此,元素加入雜湊對映的順序並不一定是它們被迭代函式讀出的順序,如果想要保持順序的話可以使用LinkedHashMap,可以保證迭代輸出的順序和輸入的一樣

相關推薦

hashmap,使用iterator讀取順序改變

public LinkedHashMap<String, String> ReadDistrictAndCity() {LinkedHashMap<String, String>

使用fastjson解析資料導致順序改變問題

  在開發過程中遇到一個問題,伺服器經過排序返回後的字串資料使用fastjson解析後,資料順序發生變化,引起業務異常。 解決辦法: 1、解析時增加引數不調整順序   JSONObject respondeBodyJson = JSONObject.parseObject(jsonStr,

所有input輸入完成改變按鈕顏色

ffffff nbsp rim fff val car cti chang rop $(function(){ $(‘input‘).on(‘input propertychange‘,function(){ if(($.trim($(‘.add1

C# 解決Datagridview 刪除行index改變的問題

tag 刪除行 count row 改變 bsp blog post 。。 for (int i = 0; i < dataGridView1.Rows.Count; i++) //刪除行後 count值會改變 {

PLSQL中對數據庫操作沒有改變

關閉 添加 使用 關閉窗口 解決 生效 語句 是否 comm 問題描述:在PL\SQL的SQL WINDOW中對數據庫進行增、刪、改操作後,在別的命令窗口查沒有改變問題分析:SQL WINDOW中對數據庫的增刪改操作都是臨時的,需要進行COMMIT才能生效,但是在關閉窗口時

Mac OSX 系統下malware感染系統改變情況

上一篇文章我們談論了使用者常見的惡意軟體感染途徑,下面再來說一說,感染後系統做了哪些改變,如果你有這些症狀,那很可能不經意間,你已經感染了這些malware。 使用者點選和安裝惡意軟體後,後臺毫無提示的安裝了下面已發現的外掛(實際比這還多) 安裝後,出現了下

利用Iterator讀取cvs檔案

平時讀取csv檔案都是用while迴圈,最近在看文件時發現一個新方法:利用iterator <?php namespace demo\test; use Iterator; class CsvFileIterator implements Iterator { private $fil

Vue使用v-for渲染資料完成再次改變資料,頁面資料不改變

v-for不能進行雙向資料繫結,頁面渲染完成後,再次更改v-for遍歷的資料,js裡面列印的資料看到資料值已經更改,但是頁面的資料就是沒有渲染,這是為什麼呢?vue中v-for和angularjs中的ng-repeat不用 ,它對頁面只進行一次渲染。後續如果需要更改資料且顯示在頁面上就需要想想其他辦

SpringBoot | 第六章:springboot 專案啟動讀取按照順序讀取配置檔案

1.按照順序讀取配置檔案工具類 import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; im

攔截器攔截requestbody資料如何防止流被讀取資料丟失

今天被問到這個問題,百度了一下: 要攔截首先想到的是攔截器,@RequestBody只能以流的方式讀取,流被讀過一次後,就不在存在了,會導致會續無法處理,因此不能直接讀流 為了解決這個問題,思路如下: 1、讀取流前先把流儲存一下 2、使用過濾器攔截讀取,再通過chain.doFi

jenkins構建自動改變jira上issue的狀態

最近碰到一個需求,大致是這樣:jenkins的job在構建之後要求將jira上面某個缺陷的狀態變為待驗證。 下面來說說實現方式 思路:step1.寫python指令碼來改變jira上面問題的狀態            step2.jenkins在構建的時候去呼叫這個指令

JTable中新增元件改變當選中時的背景色

在JTable中新增元件後,當我們選中某一行時,我們會發現其他欄的背景色會變為table設定的選中背景色,而帶有元件的那一欄背景色卻不變 這時,我們需要在TableCellRenderer中新增一個填充方法 下面以JLable元件為例: import java.awt.C

調整CSS型別的順序改變連結翻滾效果

  你也許已經意識到,你可以通過指定每一鍵接的不同風格以建立CSS翻滾效果,這些連結包括普通的連結link (normal), 訪問,翻轉,以及啟用。並且,你可能也知道CSS型別的順序可以產生效果上的差別,CSS程式碼後順序的風格將會取代針對於相同元素的前順序的風格。建立翻滾

二叉樹的建立和先中順序遍歷

二叉樹的建立 二叉樹建立問題 個人觀點 二叉樹是一對多的關係,所以在儲存結構中藉助連結串列節點進行動態儲存。首先建立節點,遞迴進行建立。 typedef char ElemType; typedef struct node { E

修改SNMP端口並利用snmpwalk測試,nagios監控,腳本讀取篩選出磁盤占用空間的值

通過 奇怪 網上 tails specific bytes 區別 lib sed ############################################################插入一個信息Handy.sh裏,Linux下如果要根據read到的nl序

springboot 專案啟動讀取按照順序讀取配置檔案

1.按照順序讀取配置檔案工具類 import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOEx

Android AudioRecord介紹與Android 6.0改變

AudioRecord介紹 在android中採集音訊的api是android.media.AudioRecord類 其中構造器的幾個引數就是標準的聲音採集引數 以下是引數的含義解釋 public AudioRecord (int audioSour

C語言:從p所指字符串中找出ASCII碼最大的字符,將其放在第一個位置上,並將該字符前的原字符向順序移動。

lose 使用數組 max code 數據 scanf 打開文件 stdio.h ted //fun函數:從p所指字符串中找出ASCII碼最大的字符,將其放在第一個位置上,並將該字符前的原字符向後順序移動。 1 #include <stdio.h>

Java 練習:讀取該文件內容,並按照自然順序排序輸出到 另一個文件中

一個 string leo eno 順序 blog cat java output package com.swift; import java.io.FileInputStream; import java.io.FileNotFoundException; impo