Hashset重复值,但我没有自定义对象

时间:2013-11-13 09:33:36

标签: java hashset

我正在使用jsoup解析器来提取我的锚标签,然后我只是将链接添加到哈希集。 代码如下

发布我的整个代码。我理解这个问题是因为我使用toString并且值会改变我的目标是当我得到一堆链接时我想要消除诸如http://cse.syr.eduhttp://cse.syr.edu/之类的链接,以便我的hashSet包含唯一元素。我怎么能这样做

for ( Element link : links)
{
        String test=link.attr("abs:href");

        if(!(link.attr("abs:href").contains("http://cse.syr.edu")))
            continue ;
        else if(h.isEmpty()){
            h.add(test);
        }
        else if(h.contains(test) || h.contains(test+"/")) // I now removed (test+"/")
            continue;
        else {

        h.add(test);

}

我现在已经更新了我的问题,感谢RJ

2 个答案:

答案 0 :(得分:5)

你的字符串中可能有空格。 HashSet工作正常。

答案 1 :(得分:1)

如果我们谈论java.util.HashSet,最可能的解释是您对问题的诊断不正确。确保集合中的字符串确实相同(而不是略有不同),并且在添加相同字符串之间不会意外地重新创建或清除HashSet