Android 从ListView中删除重复项

Android 从ListView中删除重复项,android,listview,duplicates,Android,Listview,Duplicates,我正在发布我的代码,我无法从listview中删除重复的值? 有人能帮我吗?提前谢谢! 我在这里粘贴代码,并且使用了BaseAdapter 如果您不想允许复制到对象的集合中,则使用Set对象,它现在将允许复制值 Set suggestion = new HashSet(); 或者,您可以将列表对象添加到此对象,它现在将添加重复的值 ArrayList al = new ArrayList(); // add elements to al, including duplicates HashS

我正在发布我的代码,我无法从listview中删除重复的值? 有人能帮我吗?提前谢谢! 我在这里粘贴代码,并且使用了
BaseAdapter



如果您不想允许复制到对象的集合中,则使用Set对象,它现在将允许复制值

Set suggestion = new HashSet();
或者,您可以将列表对象添加到此对象,它现在将添加重复的值

ArrayList al = new ArrayList();
// add elements to al, including duplicates
HashSet hs = new HashSet();
hs.addAll(al);
al.clear();
al.addAll(hs);
为您的案例更新:


使用您的建议对象,而不是上面的al对象。如果您不想允许复制到对象集合中,请使用设置对象,它现在将允许复制值

Set suggestion = new HashSet();
或者,您可以将列表对象添加到此对象,它现在将添加重复的值

ArrayList al = new ArrayList();
// add elements to al, including duplicates
HashSet hs = new HashSet();
hs.addAll(al);
al.clear();
al.addAll(hs);
为您的案例更新:


使用您的建议对象,而不是上面的al对象。您可以使用该代码:

    private static HashSet<String> hs = new HashSet<String>();
    private static ArrayList<String> list= new ArrayList<String>();

    for(int i=0; i<list.size(); i++){
        hs.add(list.get(i));

    }

    list.clear();
    list.addAll(hs);
private static HashSet hs=new HashSet();
私有静态ArrayList=新ArrayList();

对于(int i=0;i您可以使用该代码:

    private static HashSet<String> hs = new HashSet<String>();
    private static ArrayList<String> list= new ArrayList<String>();

    for(int i=0; i<list.size(); i++){
        hs.add(list.get(i));

    }

    list.clear();
    list.addAll(hs);
private static HashSet hs=new HashSet();
私有静态ArrayList=新ArrayList();

对于(int i=0;i此建议有效,但我会用以下方式修改它:声明集合,在将其添加到适配器之前检查元素是否存在,将元素添加到集合中。这样可以避免移动大块数据。此建议有效,但我会用以下方式修改它:声明集合,在将它添加到适配器中,将元素添加到集合中,这样可以避免移动大块数据。