arraylist に追加されている連絡先がありますが、一部の連絡先は他のアプリケーションで一般的であるため、重複したエントリもその中に保存されます。
この状況を解決するための 2 つのアプローチがあることを認識していますが、どちらのアプローチに従うべきかわかりません。
最初:
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
ArrayList<String> temp = new ArrayList<String>();
temp.add(name);
if (!contactList.contains(name)) {
contactList.add(name);}
2番目:
エントリの重複を許可しないため、ハッシュセットに追加してから、arraylist に追加し直します。
String name = getStrin(...);
contactList.add(name);
// after the loop has completed adding all elements
HashSet hs = new HashSet();
hs.addAll(contactList);
contactList.clear();
contactList.addAll(hs);