पर डुप्लिकेट प्रविष्टियों को रोकना मैं डुप्लिकेट प्रविष्टियों को एक ऐरेलिस्ट में जोड़ने से रोकने की कोशिश कर रहा हूं क्योंकि फ़ाइल की प्रत्येक पंक्ति के माध्यम से सूची को पॉप्युलेट किया जा रहा है। फ़ाइल की प्रत्येक पंक्ति "नोड 1 नोड 2" (टैब डिलीमीटर) प्रारूप में है। यहां एक डुप्लिकेट या तो "नोड 1 नोड 2" या "नोड 2 नोड 1" हो सकता है। यहाँ कोशिश करते हैं और यह कार्रवाई करने के लिए मेरे कोड है:जावा: एक ऐरेलिस्ट
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
डुप्लीकेट खोजने के लिए सेट 'बराबर() 'का उपयोग करता है। आपको उस ऑब्जेक्ट के लिए एक विशिष्ट श्रेणी बनाना चाहिए जिसे आप अपने सेट में रखना चाहते हैं और इस वर्ग पर 'बराबर() 'को फिर से परिभाषित करना चाहिए। –