개발 공부/Java / / 2018. 3. 15. 14:24

중복 값 제거한 List 만들기

서버에서 가져오는 값에서 중복값을 처리할 필요가 있었는데 


서버에서 쿼리를 다시 돌리고 싶지 않았다.(삽질 후유증)


안드로이드에서 해결할 방법을 찾으려고 List 중복값을 검색해서 알아보니


HashSet을 이용해서 해결 할 수 있었다. 


상황 : 서버에서 가져온 JSON배열을 파싱한 중복값들을 List에 저장 => Unique List를 생성해 Hashset을 이용한 중복값 제거 확인 


@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
}
@Override
public void onSuccess(JSONObject result) {
super.onSuccess(result);
try {
if(resultStr.equals("success")){
List<Integer> PatternCodes= new ArrayList<Integer>();
JSONArray BookDiscorrectProblem = new JSONArray(result.getString("BookDiscorrect"));
for(int i = 0; i<BookDiscorrectProblem.length();i++){
JSONObject DiscorrectProblemItem = (JSONObject) BookDiscorrectProblem.get(i);
int PatternCode = DiscorrectProblemItem.getInt("PatternCode");
PatternCodes.add(PatternCode);
}
UniquePatternCodes = new ArrayList<Integer>(new HashSet<Integer>(PatternCodes));
Log.i("갯수 확인", "갯수 :"+UniquePatternCodes.size()+" "+UniquePatternCodes.get(0)+" "+UniquePatternCodes.get(1));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});

로그 확인 

03-15 13:02:29.544  211000006   

03-15 13:02:29.544  211000009   

03-15 13:02:29.544  211000009 

03-15 13:02:29.545  211000009  

03-15 13:02:29.545  211000009 

03-15 13:02:29.545  211000006        

03-15 13:02:29.545  211000009        

03-15 13:02:29.545  갯수 확인: 갯수 :2        



2개인거 확인 후 들어있는 값 확인


03-15 13:09:14.386  갯수 확인: 갯수 :2 211000009 211000006


  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유