जावा - ऐरे

जावा एक डेटा संरचना प्रदान करता है, array, जो एक ही प्रकार के तत्वों के एक निश्चित आकार के अनुक्रमिक संग्रह को संग्रहीत करता है। एक सरणी का उपयोग डेटा के संग्रह को संग्रहीत करने के लिए किया जाता है, लेकिन एक सरणी के समान प्रकार के संग्रह के रूप में सरणी के बारे में सोचना अक्सर अधिक उपयोगी होता है।

नंबर चर, नंबर 1, ... और नंबर 99 जैसे अलग-अलग चर घोषित करने के बजाय, आप एक सरणी चर जैसे संख्याओं की घोषणा करते हैं और संख्याओं का उपयोग करते हैं [0], संख्याओं [1] और ..., संख्याओं [99] का प्रतिनिधित्व करने के लिए। अलग-अलग चर।

यह ट्यूटोरियल एरे वेरिएबल घोषित करने, एरेज़ बनाने और इंडेक्सेड वेरिएबल्स का उपयोग करके एरेज़ प्रोसेस करने का तरीका बताता है।

ऐरे वेरिएबल्स की घोषणा

किसी प्रोग्राम में एरे का उपयोग करने के लिए, आपको ऐरे के संदर्भ के लिए एक वैरिएबल की घोषणा करनी चाहिए, और आपको उस वेरिएबल के प्रकार को निर्दिष्ट करना होगा जिसे वेरिएबल रेफर कर सकता है। यहाँ एक सरणी चर घोषित करने के लिए वाक्य रचना है -

वाक्य - विन्यास

dataType[] arrayRefVar;   // preferred way.
or
dataType arrayRefVar[];  // works but not preferred way.

Note - शैली dataType[] arrayRefVarपसंद है। शैलीdataType arrayRefVar[] C / C ++ भाषा से आता है और C / C ++ प्रोग्रामर को समायोजित करने के लिए जावा में अपनाया गया था।

उदाहरण

निम्नलिखित कोड स्निपेट इस वाक्य रचना के उदाहरण हैं -

double[] myList;   // preferred way.
or
double myList[];   // works but not preferred way.

ऐरे बनाना

आप निम्नलिखित सिंटैक्स के साथ नए ऑपरेटर का उपयोग करके एक सरणी बना सकते हैं -

वाक्य - विन्यास

arrayRefVar = new dataType[arraySize];

उपर्युक्त कथन दो बातें करता है -

  • यह नए डेटा टाइप [arraySize] का उपयोग करके एक सरणी बनाता है।

  • यह चर सरणी में नए बनाए गए सरणी का संदर्भ प्रदान करता है।

एक सरणी चर की घोषणा करना, एक सरणी बनाना, और चर के संदर्भ को सरणी में निर्दिष्ट करना एक बयान में जोड़ा जा सकता है, जैसा कि नीचे दिखाया गया है -

dataType[] arrayRefVar = new dataType[arraySize];

वैकल्पिक रूप से आप निम्नानुसार सरणियाँ बना सकते हैं -

dataType[] arrayRefVar = {value0, value1, ..., valuek};

सरणी तत्वों के माध्यम से पहुँचा जाता है index। ऐरे इंडेक्स 0-आधारित हैं; यह है, वे 0 से शुरू करते हैंarrayRefVar.length-1

उदाहरण

निम्नलिखित कथन एक सरणी चर की घोषणा करता है, myList, दोहरे प्रकार के 10 तत्वों की एक सरणी बनाता है और myList के संदर्भ को निर्दिष्ट करता है -

double[] myList = new double[10];

निम्नलिखित चित्र सरणी myList का प्रतिनिधित्व करता है। यहाँ, myList में दस दोहरे मूल्य हैं और सूचकांक 0 से 9 तक हैं।

प्रसंस्करण

सरणी तत्वों को संसाधित करते समय, हम अक्सर या तो उपयोग करते हैं for पाश या foreach पाश क्योंकि किसी सरणी में सभी तत्व एक ही प्रकार के होते हैं और सरणी का आकार ज्ञात होता है।

उदाहरण

यहाँ एक पूर्ण उदाहरण दिखाया गया है कि कैसे बनायें, आरंभ करें, और कैसे करें

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
     
      // Summing all elements
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      
      // Finding the largest element
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);  
   }
}

यह निम्नलिखित परिणाम का उत्पादन करेगा -

उत्पादन

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

फॉर्च्यूनर लूप्स

JDK 1.5 ने foreach loop के रूप में जाना जाने वाला एक नया लूप पेश किया या लूप के लिए बढ़ाया, जो आपको अनुक्रमणिका चर का उपयोग किए बिना क्रमिक रूप से पूर्ण सरणी को पार करने में सक्षम बनाता है।

उदाहरण

निम्न कोड सरणी myList में सभी तत्वों को प्रदर्शित करता है -

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

यह निम्नलिखित परिणाम का उत्पादन करेगा -

उत्पादन

1.9
2.9
3.4
3.5

विधियों में अर्रिंग पास करना

जैसे आप विधियों के लिए आदिम प्रकार मान पास कर सकते हैं, वैसे ही आप तरीकों में सरणियाँ भी पास कर सकते हैं। उदाहरण के लिए, निम्न विधि ए में तत्वों को प्रदर्शित करती हैint सरणी -

उदाहरण

public static void printArray(int[] array) {
   for (int i = 0; i < array.length; i++) {
      System.out.print(array[i] + " ");
   }
}

आप एक सरणी पास करके इसे लागू कर सकते हैं। उदाहरण के लिए, निम्नलिखित कथन 3, 1, 2, 6, 4 और 2 प्रदर्शित करने के लिए PrintArray विधि को आमंत्रित करता है -

उदाहरण

printArray(new int[]{3, 1, 2, 6, 4, 2});

एक विधि से एक ऐरे को वापस करना

एक विधि भी एक सरणी लौटा सकती है। उदाहरण के लिए, निम्न विधि एक सरणी देता है जो दूसरे सरणी का उत्क्रमण है -

उदाहरण

public static int[] reverse(int[] list) {
   int[] result = new int[list.length];

   for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
      result[j] = list[i];
   }
   return result;
}

एरेस वर्ग

Java.util.Arrays वर्ग में एरेज़ को सॉर्ट करने और खोजने, सरणियों की तुलना करने और सरणी तत्वों को भरने के लिए विभिन्न स्थिर तरीके हैं। इन विधियों को सभी आदिम प्रकारों के लिए अतिभारित किया जाता है।

अनु क्रमांक। विधि और विवरण
1

public static int binarySearch(Object[] a, Object key)

बाइनरी खोज एल्गोरिथ्म का उपयोग करके निर्दिष्ट मान के लिए ऑब्जेक्ट (बाइट, इंट, डबल, आदि) के निर्दिष्ट सरणी को खोजता है। इस कॉल को करने से पहले सरणी को क्रमबद्ध किया जाना चाहिए। यदि यह सूची में सम्‍मिलित है, तो यह खोज कुंजी का सूचकांक देता है; अन्यथा, यह लौटाता है (- (सम्मिलन बिंदु + 1))।

2

public static boolean equals(long[] a, long[] a2)

यदि दो निर्दिष्ट लोंगो की एक दूसरे के बराबर है तो सही है। दो सरणियों को समान माना जाता है यदि दोनों सरणियों में समान तत्वों की संख्या होती है, और दो सरणियों में सभी संबंधित जोड़े समान हैं। यह सही है अगर दो सरणियाँ समान हैं। एक ही विधि का उपयोग अन्य सभी आदिम डेटा प्रकारों (बाइट, लघु, इंट, आदि) द्वारा किया जा सकता है।

3

public static void fill(int[] a, int val)

निर्दिष्ट सरणी के प्रत्येक तत्व के लिए निर्दिष्ट int मान निर्दिष्ट करता है। एक ही विधि का उपयोग अन्य सभी आदिम डेटा प्रकारों (बाइट, लघु, इंट, आदि) द्वारा किया जा सकता है।

4

public static void sort(Object[] a)

अपने तत्वों के प्राकृतिक क्रम के अनुसार, वस्तुओं के निर्दिष्ट सरणी को आरोही क्रम में कहते हैं। एक ही विधि का उपयोग अन्य सभी आदिम डेटा प्रकारों (बाइट, लघु, इंट, आदि) द्वारा किया जा सकता है।