Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

क्या Java मल्टी-डायमेंशनल ऐरे सपोर्ट करता है?


नहीं, Java पारंपरिक अर्थों में (C/C++ की तरह सन्निहित मेमोरी ब्लॉक के रूप में) मल्टी-डायमेंशनल ऐरे सपोर्ट नहीं करता।

  • Java ऐरे के ऐरे (arrays of arrays) सपोर्ट करता है।
  • Java में, एक टू-डायमेंशनल ऐरे वास्तव में वन-डायमेंशनल ऐरे का ऐरे होता है।

उदाहरण

int[][] arr = new int[2][4];
  • अभिव्यक्ति arr[i] वन-डायमेंशनल ऐरे को चुनती है।
  • अभिव्यक्ति arr[i][j] उस ऐरे से एलिमेंट को चुनती है।
  • प्रत्येक डायमेंशन में ऐरे इंडेक्स शून्य से length - 1 तक होते हैं। जहां length दिए गए डायमेंशन में ऐरे की लंबाई है।
  • कोई ऐरे असाइनमेंट ऑपरेटर नहीं है। एक बार ऐरे आवंटित हो जाने के बाद डायमेंशन की संख्या और प्रत्येक डायमेंशन का आकार निश्चित हो जाता है।

विज़ुअल प्रतिनिधित्व

arr (int[][]) -> [0] -> int[4] (row 0)
                [1] -> int[4] (row 1)

प्रत्येक row एक अलग int[] ऑब्जेक्ट है।

महत्वपूर्ण विशेषताएं

  • जैग्ड ऐरे (Jagged Arrays): चूंकि प्रत्येक row एक अलग ऐरे ऑब्जेक्ट है, इसलिए प्रत्येक row की लंबाई अलग-अलग हो सकती है।
    int[][] jagged = new int[3][];
        jagged[0] = new int[2];
        jagged[1] = new int[5];
        jagged[2] = new int[3];
  • प्रारंभिकरण:
    // घोषणा और प्रारंभिकरण एक साथ
    int[][] matrix = {
        {1, 2, 3},
        {4, 5},
        {6, 7, 8, 9}
    };
  • लंबाई:
    arr.length        // rows की संख्या (2)
    arr[0].length     // पहली row के कॉलम्स की संख्या (4)

C/C++ से तुलना

विशेषताC/C++ (True 2D Array)Java (Array of Arrays)
मेमोरी लेआउटसन्निहित (contiguous)असन्निहित (प्रत्येक row अलग ऑब्जेक्ट)
Row आकारसभी rows समान आकार केप्रत्येक row अलग आकार का हो सकता है
पॉइंटर अंकगणितसंभवनहीं (Java में पॉइंटर्स नहीं)
प्रदर्शनकैश-फ्रेंडलीकम कैश-फ्रेंडली (इनडायरेक्शन के कारण)

निष्कर्ष: Java "मल्टी-डायमेंशनल ऐरे" को ऐरे-ऑफ-ऐरे के रूप में लागू करता है, जो अधिक लचीलापन (जैग्ड ऐरे) प्रदान करता है लेकिन मेमोरी लेआउट और प्रदर्शन के मामले में C/C++ के वास्तविक मल्टी-डायमेंशनल ऐरे से भिन्न है।

  1. C में बहुआयामी सरणियाँ C में बहुआयामी सरणियाँ

    यहां हम बहुआयामी सरणियों को देखेंगे। एक सरणी मूल रूप से सजातीय डेटा का एक समूह है। उन्हें सन्निहित मेमोरी स्थानों में रखा जाता है। विभिन्न मामलों में हम देख सकते हैं कि सरणियाँ एक-आयामी नहीं होती हैं। कभी-कभी हमें दो-आयामी या बहुआयामी रूप में सरणी बनाने की आवश्यकता होती है। बहुआयामी सरणियों को दो

  1. - Java में डिफ़ॉल्ट ऐरे मान

    Java एक डेटा संरचना प्रदान करता है, ऐरे, जो एक ही प्रकार के एलिमेंट्स का फिक्स्ड-साइज अनुक्रमिक संग्रह स्टोर करता है। एक ऐरे का उपयोग डेटा के संग्रह को स्टोर करने के लिए किया जाता है, लेकिन अक्सर एक ऐरे को एक ही प्रकार के वेरिएबल्स के संग्रह के रूप में सोचना अधिक उपयोगी होता है। जब किसी ऐरे को बिना

  1. - Java गाइड: List को Array में बदलें (और वापस) toArray() और Arrays.asList() के साथ

    List और Array के बीच बदलना Java में एक बहुत ही सामान्य ऑपरेशन है। Java में List को Array में बदलने का सबसे अच्छा और आसान तरीका .toArray() मेथड का उपयोग करना है। इसी तरह, हम Arrays.asList() मेथड का उपयोग करके Array को वापस List में बदल सकते हैं। नीचे दिए गए उदाहरण दिखाते हैं कि List of String और List