我試圖防止重複的條目被添加到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()。 –