我试图防止重复的条目被添加到ArrayList,因为列表正在被填充,同时读取文件的每一行。文件的每一行格式为“node1 node2”(制表符分隔符)。这里的重复可以是“node1 node2”或“node2 node1”。这里是我的代码,试图执行此操作:JAVA:防止重复条目到ArrayList
while((line = bufferedReader.readLine()) != null) {
String delimiter = "\t";
String[] tempnodelist;
tempnodelist = line.split(delimiter);
for (int i=0; i <= edgesnumber; i++) { //edgesnumber = edges.size()
if (tempnodelist[0] && tempnodelist[1] != edges.get(i)) {
edges.add(line);
}
}
nodes.add(tempnodelist[0]);
nodes.add(tempnodelist[1]); //intial intended use of tempnodelist.
}
既然我已经分割每行,使每个节点的HashSet的,我想用这个来检查重复。目前,我似乎无法得到正确的语法。我如何检查ArrayList的以前条目是否存在重复项,并阻止它们被添加,继续填充ArrayList?这个代码目前有什么问题?
如有任何疑问,请咨询任何问题,
在此先感谢!
如果你不想重复条目,那么你想有一个'Set',而不是一个'List'。 –
但条目可以颠倒过来,仍然会算作重复...集会不会看到这会呢? – user2941526
Set使用equals()来查找重复项。你应该为你想要放置的对象创建一个特定的类,并在这个类上重新定义equals()。 –