由於HashMap是鍵值對形式,因此一個鍵只對應一個Value,利用這個原理,咱們就能夠根據某列重複數據作鍵對重複數據進行處理啦~java
首先先看看我要處理 的數據json
而後我最後想要的結果:code
需求:根據groupName每一個分組信息只顯示一條數據就能夠了get
處理代碼以下:hash
這裏個人數據都是從json串中取出來的~it
private List<Entity> parseResult(String result) { List<Entity> list=new ArrayList<Entity>(); HashMap<String,Entity> mymap = new HashMap<String, Entity>(); try { JSONArray json = new JSONArray(result); for(int i=0;i<json.length();i++){ JSONObject jsonobject1=json.getJSONObject(i); Entity mGroup =new Entity(); mGroup.setiD(Integer.valueOf(jsonobject1.getString("iD"))); mGroup.setGroupName(jsonobject1.getString("groupName")); //須要根據曬選數據的列 mGroup.setDepartmentID(Integer.valueOf(jsonobject1.getString("employeeID"))); mymap.put(mGroup.getGroupName(), mGroup); //以分組名爲鍵,實體類爲值放入hashmap中 } //從hashmap中把值遍歷出來放入list集合中 for(mGroupWork group:mymap.values()){ list.add(group); } } catch (Exception e) { e.printStackTrace(); } return list; }
好了,這樣數據處理就算完成了~過程可能麻煩,但也是一種思路~io