从填充了POJO的ArrayList中删除重复项

Cra*_*ayl 0 java

我有一个ArrayList填充POJO,我想删除所有POJO,它有一个重复的变量.这是POJO:

public static class UrlStore {

    public String url;
    public String data;

    public UrlStore(String url) {
        this.url = url;
    }

    public void setData(String data) {
        this.data = data;
    }
}   
Run Code Online (Sandbox Code Playgroud)

我在删除重复"url"变量的方法ArrayList<UrlStore>是迭代列表并删除那些重复项.有人告诉我,我可以简单地使用a Set来做到这一点,但我无法弄清楚如何将它与包含POJO的ArrayList一起使用.或者你有更好的方法吗?

谢谢你的任何建议!

NIN*_*OOP 10

您可以覆盖POJO中的equals()hashCode()方法并将其传递List<UrlStore>Set.

 List<UrlStore> listOfUrlStore = ......
 Set<UrlStore> foo = new HashSet<UrlStore>(listOfUrlStore);
Run Code Online (Sandbox Code Playgroud)

我在这里使用了一个简单的HashSet,Set的正确实现取决于你的要求.你甚至可以将Set背面转换为List.

 listOfUrlStore.clear();
 listOfUrlStore.addAll(foo);   
Run Code Online (Sandbox Code Playgroud)