/ / जावा एक बड़े आकार के पहले आयाम के साथ शुरू होने वाले दो आयामी सरणी शुरू करने में लंबा समय क्यों ले रहा है? - जावा, सरणी, प्रदर्शन, स्मृति प्रबंधन, समय-जटिलता

जावा पहले बड़े आयाम वाले पहले आयाम से शुरू होने वाले दो आयामी सरणी शुरू करने में लंबा समय क्यों ले रहा है? - जावा, सरणी, प्रदर्शन, स्मृति प्रबंधन, समय-जटिलता

मैंने देखा है कि इस तरह 2 डी सरणी शुरू करना

मामला एक :-

int ar [] [] = new int [10000001][10] ;

इसे इस तरह शुरू करने से अधिक समय लेना

मामला 2: -

int ar[] [] = new int [10] [10000001] ;

यदि 1 में यह 4000ms के आसपास टॉके समय है, लेकिन 2 में यह 100ms से अधिक नहीं है यह बड़ा अंतर क्यों है?

उत्तर:

उत्तर № 1 के लिए 10

कड़ाई से बोलते हुए, जावा में 2 डी एरे नहीं हैं: इसके बजाय, यह 1 डी सरणी का उपयोग करता है जो 1 डी सरणी सरणी में व्यवस्थित होता है।

आपके पहले मामले में, सरणी के एकल सरणी के अलावा, जावा 10 तत्वों के 10000001 सरणी बनाता है, जबकि दूसरे मामले में यह 10000001 तत्वों के 10 सरणी बनाता है।

चूंकि वस्तुओं की संख्या लाखों के कारक से भिन्न होती है, पहला मामला काफी धीमा है।