2017-05-09 18 views
1

リストは同じ値を繰り返しますが、削除したいと思います。たぶん、誰かが何が間違っているかを確認したり、これを行う新しい方法を与えたりするでしょうか?ListViewから重複を削除する方法<HashMap<>>

あなたは(あなたが順序を切り替えた場合またはその逆) obj1の値が obj2のものを交換して[OK]をしている、と仮定すると、
class Duplicats implements Comparator { 
    public int compare(Object obj1, Object obj2) { 
     HashMap<String, String> test1 = (HashMap<String, String>) obj1; 
     HashMap<String, String> test2 = (HashMap<String, String>) obj2; 
     if(test1.get("name").equalsIgnoreCase(test2.get("name"))){ 
      return 0; 
     } 
     return 1; 
    } 
} 

答えて

0

Map<String, String> objCombined = new HashMap<String, String>(); 

//Add the 2nd object's items 
objCombined.putAll((HashMap<String, String>) obj2); 

//Add the first object's items, replacing duplicates 
objCombined.putAll((HashMap<String, String>) obj1); 

あなたがobj2はの値がものにしたい場合上記のputコールの順序を切り替えてください。

+0

コードをどのように変更する必要がありますか?私は重複なしでリストしたい – Torwopik

+0

@トルコピクあなたのコードは実際に何もリストしていません。それはリストを変更するために使用できるコンパレータです。上に示したコードを使用する代わりに、私の答えにコードを使用してください。そして、 'objCombined'は重複のないあなたのリストです。 –

0

どのようにこの位置からですか?

{ 
... 

        HashMap<String, String> controllers = new HashMap<>(); 

        controllers.put("id", id); 
        controllers.put("name", name); 

        DevicesList.add(controllers); 


        } 
関連する問題