2014-02-10 5 views
1

나는 hashmap을 가지고 hashmap에 동일한 keys를 사용하여 값을 입력하고 있습니다. 해당 값이 databse에없는 경우에만 데이터베이스에 값을 삽입하고 싶습니다.hashmap에서 중복 값을 제거하는 방법

여기에이 방법을 사용할 수 있습니다

s11=json_data.getString("phno"); 
     Iterator myVeryOwnIterator = map.keySet().iterator(); 
     while(myVeryOwnIterator.hasNext()) {            
    String key=(String)myVeryOwnIterator.next(); 
    String value=(String)map.get(key); 
     if(s11.compareTo(value)==0) 
     {//String name2 = cursor.getString(cursor.getColumnIndex(s11)); 
     queryValues.put("c",value); 
     //Cursor cursr = contentResolver.query(PhoneCONTENT_URI, null, Phone_CONTACT_ID + " = ?",   new String[] { s11 }, null); 
     // Toast.makeText(getActivity(),"get particular name", Toast.LENGTH_LONG).show(); 
     db.insertcontact(queryValues); 
     // Toast.makeText(getActivity(),"true", Toast.LENGTH_LONG).show(); 
     } 
     } 
+0

및 – meh

+0

전에 방법 (OBJ)를 포함 사용하는 해시 맵에 값을 추가하기 전에 내가 귀하의 요구 사항 HTTP에 대한 HashSet의를 사용하는 것이 좋습니다 것입니다. com/questions/15579863/장점 - 해시 세트 오버 해시 맵 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util /HashSet.java – Gattsu

답변

4

내 코드입니까? // 유래 : 나는 당신의 클래스에 equals 메소드를 오버라이드 (override) 좋을 것

HashMap<String,Integer> hm=new HashMap<String,Integer>(); 
hm.put("AK",1); 
hm.put("BK",2); 
hm.put("CK",3); 
hm.put("DK",4); 
hm.put("EK",5); 
hm.put("FK",6); 
hm.put("GK",7); 
hm.put("HK",6); 
hm.put("IK",7); 


System.out.println("values are "+hm.values()); 

// Removing the duplicate VALUES from Map 
System.out.println("\n After removing duplicate values "); 

for(Object key1:hm.keySet()){ 

for(Object key2:hm.keySet()){ 
if(!key1.toString().equals(key2.toString())){ 
int x=hm.get(key1); 
int y=hm.get(key2); 
if(x==y){ 
    hm.remove(key2); 
} 
} 

} 
} 
관련 문제