सरलतम: पूरे संग्रह को एक सेट (सेट (संग्रह) निर्माणकर्ता या सेट.एडएड का उपयोग करके) में डंप करें, फिर देखें कि सेट का ArrayList के समान आकार है या नहीं।
List<Integer> list = ...;
Set<Integer> set = new HashSet<Integer>(list);
if(set.size() < list.size()){
/* There are duplicates */
}
अपडेट: यदि मैं आपके प्रश्न को सही ढंग से समझ रहा हूं, तो आपके पास ब्लॉक के रूप में 2d सरणी है
ब्लॉक तालिका [] [];
और अगर आप उनमें से किसी भी पंक्ति डुप्लिकेट है पता लगाना चाहते हैं?
उस मामले में, मैं निम्नलिखित कर सकता हूं, यह मानते हुए कि ब्लॉक "बराबर" और "हैशकोड" को सही ढंग से लागू करता है:
for (Block[] row : table) {
Set set = new HashSet<Block>();
for (Block cell : row) {
set.add(cell);
}
if (set.size() < 6) { //has duplicate
}
}
मैं वाक्य रचना के लिए 100% निश्चित नहीं हूं, इसलिए इसे इस प्रकार लिखना सुरक्षित हो सकता है
for (int i = 0; i < 6; i++) {
Set set = new HashSet<Block>();
for (int j = 0; j < 6; j++)
set.add(table[i][j]);
...
Set.addयदि आइटम जोड़ा जा रहा है, तो पहले से ही एक बूलियन गलत रिटर्न देता है, इसलिए आप शॉर्ट सर्किट भी कर सकते हैं और किसी भी ऐड पर घंटी बजा सकते हैं, जो falseअगर आप जानना चाहते हैं तो क्या कोई डुप्लिकेट है।