使用HashMap去重複數據.

           由於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

相關文章
相關標籤/搜索