আমরা কি এমন hashcode
একটি আবিষ্কার করতে পারি list
যা এতে নিজেকে থাকে element
?
আমি জানি এটি একটি খারাপ অভ্যাস, তবে সাক্ষাত্কারকারীর এটিই বলেছিল।
যখন আমি নিম্নলিখিত কোডটি চালিত করি এটি একটি নিক্ষেপ করে StackOverflowError
:
public class Main {
public static void main(String args[]) {
ArrayList<ArrayList> a = new ArrayList();
a.add(a);
a.hashCode();
}
}
এখন এখানে আমার দুটি প্রশ্ন আছে:
- সেখানে কেন
StackOverflowError
? - এভাবে কি হ্যাশ কোডটি পাওয়া সম্ভব?
List
ইন্টারফেসের খুব সংজ্ঞা দিয়ে এটি সম্ভব নয়, hashCode
একটি তালিকার তালিকা তার সদস্যদের উপর নির্ভর করে। তালিকাটি তার নিজস্ব সদস্য হিসাবে দেওয়া হয়েছে, এটির হ্যাশ কোড তার উপর নির্ভর করে hashCode
, যা এর hashCode
... এবং এর উপর নির্ভর করে, অসীম পুনরাবৃত্তি ঘটায় এবং StackOverflowError
আপনি যার মধ্যে চলেছেন । এখন প্রশ্ন হ'ল: কেন নিজেকে অন্তর্ভুক্ত রাখতে একটি তালিকা প্রয়োজন? আমি আপনাকে গ্যারান্টি দিতে পারি যে এটির মতো পুনরাবৃত্ত সদস্যতার প্রয়োজন ছাড়াই আপনি আরও ভাল উপায়ে যা করার চেষ্টা করছেন তা অর্জন করতে পারবেন।