সর্বাধিক: পুরো সংগ্রহটি একটি সেটে ফেলে দিন (সেট (সংগ্রহ) নির্মাণকারী বা সেট.এডএলএল) ব্যবহার করে, তারপরে দেখুন সেটে অ্যারেলিস্টের মতো আকার রয়েছে কিনা।
List<Integer> list = ...;
Set<Integer> set = new HashSet<Integer>(list);
if(set.size() < list.size()){
/* There are duplicates */
}
আপডেট: আমি যদি আপনার প্রশ্নটি সঠিকভাবে বুঝতে পারি তবে আপনার মতো ব্লকের 2 ডি অ্যারে রয়েছে
ব্লক টেবিল [] [];
এবং আপনি সনাক্ত করতে চান যে তাদের কোনও সারিতে নকল রয়েছে কিনা?
সেক্ষেত্রে, ব্লক প্রয়োগগুলি "সমান" এবং "হ্যাশকোড" সঠিকভাবে প্রয়োগ করে আমি নিম্নলিখিতটি করতে পারি:
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
যেতে পারেন যা আপনি জানতে চান যে কোনও ডুপ্লিকেট রয়েছে কিনা তা ফেরত দেয় returns