अॅरे आणि अॅरेलीलिस्टमध्ये फरक

Anonim

अररे वि अॅरेलिस्ट्स

अॅरेज हे घटकांचा संग्रह संग्रहित करण्यासाठी सर्वात सामान्यपणे वापरले जाणारे डेटा संरचना आहेत. बहुतेक प्रोग्रामिंग भाषा अॅरे घोषित करणे आणि अॅरेमध्ये ऍक्सेस अॅलेंट सहजपणे देण्यासाठी पद्धती प्रदान करतात. अॅरेलीक्टला डायनामिक अॅरे म्हणून पाहिले जाऊ शकते, जे आकार वाढू शकते. या कारणास्तव, प्रोग्रामरला तो परिभाषित करत असताना अॅरेलिस्टचे आकार माहित असणे आवश्यक नाही.

एरे म्हणजे काय?

आकृती 1 मध्ये दर्शविले गेले आहे, विशेषत: ऍरेचे मूल्य घोषित करण्यासाठी आणि वितरित करण्यासाठी कोडचा एक भाग आहे. आकृती 2 मध्ये वर्णन करतो की अॅरे मेमरीमध्ये कसे दिसेल.

अनंत मूल्यांचा [5];

मूल्ये [0] = 100;

मूल्ये [1] = 101;

मूल्ये [2] = 102;

मूल्ये [3] = 103;

मूल्ये [4] = 104;

आकृती 1: ऍरे

100 101 102 103 104
103 104 मूल्यनिर्धारण: 0 1 2 3
4

आकृती 2: मेमरीमध्ये साठवलेली अॅरे

कोडच्या वर, एक ऍरे परिभाषित करतो जो 5 इंटिजर संचित करू शकतो आणि त्यास 0 ते 4 शी निर्देशांक वापरुन प्रवेश मिळतो. अॅरेची एक महत्त्वाची संपत्ती म्हणजे, संपूर्ण ऍरे स्मृतीचे एक भाग म्हणून वाटप केले जाते आणि प्रत्येक घटकास ऍरेमध्ये स्वतःचे स्थान मिळते. एकदा अॅरे परिभाषित झाल्यानंतर त्याचे आकार निश्चित झाले आहे. त्यामुळे जर आपण वेळेची संकलन करताना अॅरेच्या आकाराबद्दल निश्चित नसाल तर आपल्याला सुरक्षित बाजूला बसण्यासाठी मोठ्या प्रमाणातील ऍरे परिभाषित करावे लागेल. पण, बहुतेक वेळा, आम्ही वाटप केलेल्या घटकांपेक्षा कमी संख्येचा घटक वापरणार आहोत. म्हणूनच स्मृतीचा सिंहाचा बराचसा वाया जातो. दुसरीकडे "मोठ्या प्रमाणातील ऍरे" खरोखर मोठे नसल्यास, कार्यक्रम क्रॅश होईल. अॅरेलिस्ट आहेत काय?

एक ऍरेलिस्टला डायनामिक अॅरे म्हणून पाहिले जाऊ शकते, जे आकार वाढू शकते. म्हणून अॅरेर्लीव्हज् वापरलेल्या परिस्थितीमध्ये आदर्श आहेत ज्यात आपल्याला घोषणा करताना आवश्यक घटकांचा आकार माहित नाही. जावामध्ये, ऑरेलिस्ट्स केवळ ऑब्जेक्ट धारण करू शकतात, ते मूळप्रकार प्रत्यक्षरित्या धारण करू शकत नाहीत (आपण एखाद्या आकृत्यामध्ये आदिम प्रकार टाकू शकता किंवा आदिम प्रकारांचे आवरण वर्ग वापरू शकता). साधारणपणे सूत्रीकरण, हटविणे आणि शोध घेण्याच्या पद्धतीसह अॅरेरेलिस्ट्स दिले जातात. घटक ऍक्सेस करण्याची वेळ जटिल आहे (1), अंतर्भूत करणे किंवा काढून टाकण्याची वेळ o (n) ची अवघडता आहे. जावामध्ये, अग्रलेख लूप, iterators वापरून किंवा फक्त अनुक्रमांक वापरून सरलीकृत जाऊ शकतात.

अॅरे आणि अॅरेलीलिस्टमध्ये फरक काय आहे

जरी अॅरे आणि अॅलेस्टीक्स समानतेच्या समान आहेत तरीही दोन्ही घटकांचा संग्रह संग्रहित करण्यासाठी वापरला जातो, ते कसे परिभाषित केले जातात त्या भिन्न आहेत. अॅरेचे आकार निश्चित केल्यावर अॅरेचे आकार देणे आवश्यक असते, परंतु वास्तविक आकार जाणून घेतल्याशिवाय आपण अॅरेलीन परिभाषित करू शकता. आपण परिभाषित केल्यानंतर आपण ऍरेलिस्टमध्ये घटक जोडू शकता आणि हे अॅरेसह शक्य नाही.पण जावामध्ये, अॅरेलीलिस्ट प्राचीन प्रकारांना धारण करू शकत नाहीत, परंतु मूळ प्रकारांना प्राचीन स्वरुपात ठेवण्यासाठी वापरले जाऊ शकते. परंतु जर आपल्याला डेटा संरचनेची आवश्यकता असेल तर तिचा आकार बदलू शकतो, arraylist सर्वोत्तम पर्याय असेल