জাভা স্ট্রিং অ্যারে: পদ্ধতির একটি আকার আছে?


152

আমি পিএইচপি ব্যাকগ্রাউন্ড থেকে এসেছি এবং পিএইচপিতে, একটি array_size()ফাংশন রয়েছে যা আপনাকে আপনাকে অ্যারের মধ্যে কতগুলি উপাদান ব্যবহার করা হবে তা বলে দেয়।

String[]অ্যারের জন্য একই পদ্ধতি আছে ? ধন্যবাদ।


3
হেই, সমস্ত উত্তর একই মিনিটের মধ্যে ছিল।
jjnguy

1
আহ, পিএইচপি এর বিশৃঙ্খল গ্লোবাল নেমস্পেস সহ। শুভ পুরানো দিনগুলি ...
কেভিনজি

2
আমি মনে করি তার অর্থ পিএইচপি এর গণনা () অ্যারে_ সাইজ () নয়
জোশুয়া বার্নস

উত্তর:


277

হ্যাঁ, .length(সম্পত্তির মতো, কোনও পদ্ধতি নয়):

String[] array = new String[10];
int size = array.length;

2
হাই, অ্যারে অবজেক্টের সমস্ত সম্ভাব্য বৈশিষ্ট্য এবং কার্যকারিতা তালিকাভুক্ত ডক্সকে আমরা কীভাবে আবিষ্কার করতে পারি? আমি অ্যারে অবজেক্টটি বলতে চাইছি না যা কেবলমাত্র ডকস যা আমি খুঁজে পেতে পারি।
GMsoF

1
@ জিএমএসএফ "[]" (অ্যারে, অ্যারে অবজেক্ট নয়) এর জন্য ডকুমেন্টেশন আসলে জাভা স্পেসিফিকেশন। .eg docs.oracle.com/javase/specs/jls/se7/html/jls-10.html সম্পাদনা: আহ ... মন্তব্যটি ২০১৩ সালের ...
একাপুলকো

44
array.length

এটি আসলে অ্যারের চূড়ান্ত সদস্য, কোনও পদ্ধতি নয়।


2
আইআইআরসি, এটি আসলে কোনও ক্ষেত্র নয়, এটি কেবল একটির মতো দেখায়।
টম হাটিন -

ওহ, তাহলে কি? কিছু বিশেষ অ্যারে জিনিস?
jjnguy

3
ফিল্ড অ্যাক্সেস অপ-কোডের পরিবর্তে একটি "সিউডো ফিল্ড" যা একটি বিশেষ অ্যারে দৈর্ঘ্যের অপ-কোডে সংকলিত।
পিট কির্খাম

2
এটি একটি ক্ষেত্র, §10.7 ( java.sun.com/docs/books/jls/third_edition/html/arrays.html#10.7 ) এর সাথে সংযুক্ত: "সর্বজনীন চূড়ান্ত ক্ষেত্রের দৈর্ঘ্য, এতে অ্যারের উপাদানগুলির সংখ্যা রয়েছে ( দৈর্ঘ্য ইতিবাচক বা শূন্য হতে পারে) "।
মাইকেল ময়র্স

19

এছাড়াও, এটি লক্ষণীয়ভাবে সম্ভবত দরকারী যে আপনার যদি একাধিক মাত্রিক অ্যারে থাকে তবে আপনি যথাযথ অক্ষ / টুপল / মাত্রায় না পৌঁছানো অবধি আপনি অনুসন্ধান করছেন এমন অ্যারেটিতে একটি '[0]' যুক্ত করে আপনি সংশ্লিষ্ট মাত্রাটি পেতে পারেন।

এটি সম্ভবত নিম্নলিখিত কোডের সাথে আরও ভালভাবে ব্যাখ্যা করা হয়েছে:

public class Test {
    public static void main(String[] args){
        String[][] moo = new String[5][12];

        System.out.println(moo.length); //Prints the size of the First Dimension in the array
        System.out.println(moo[0].length);//Prints the size of the Second Dimension in the array
    }

}

যা আউটপুট উত্পাদন করে:

5
12

15

অ্যারে। দৈর্ঘ্যের চূড়ান্ত সম্পত্তি

এটি সর্বজনীন এবং চূড়ান্ত সম্পত্তি। এটি চূড়ান্ত কারণ জাভাতে অ্যারেগুলি আকার দ্বারা অপরিবর্তনীয় (তবে উপাদানটির মান অনুসারে পরিবর্তনযোগ্য)


14

অ্যারেগুলি অবজেক্ট এবং তাদের দৈর্ঘ্যের ক্ষেত্র রয়েছে।

স্ট্রিং [] হাহা = {"ওলে", "বুলেট"};

হাহা দৈর্ঘ্য 2 হবে


শুধু নিটপিক করতে। তবে আমি বিশ্বাস করি অ্যারে জাভাতে বস্তু নয় - এগুলি দুটি চলক প্রকারের মধ্যে একটি are অন্য হচ্ছে বস্তু।
জ্যাবি

2
@ জবাববি: সত্যি? আপনি কি তার জন্য একটি রেফারেন্স আছে? আমি কেবল এটিই প্রশ্ন করি কারণ আপনি অবজেক্ট o = নতুন স্ট্রিং [] {"হ্যালো"} বলতে পারেন;
সাইমন নিকারসন

সাইমন আমি মনে করি যে বিবৃতিটি কাজ করার কারণটি হ'ল কারণ তারা আদিম ধরণের সমস্তগুলির জন্য প্রতিচ্ছবি শ্রেণি চালু করেছিল।
ব্রায়ান সুইভিনে

9
Docs.oracle.com/javase/specs/jls/se8/html/jls-10.html এর প্রথম বাক্যটি পড়ুন এবং তারপরে আমাদের জানানোর চেষ্টা করুন যে অ্যারেগুলি বস্তু নয়। ;)
মাইকেল মায়ার্স

1
আপনি অন্য কিছু পরিবর্তনশীল নামটি ব্যবহার করতে পারতেন, এটি আমার কাছে এতটাই বিভ্রান্তিকর
স্পেস রকার

11

জাভাতে এমন একটি lengthক্ষেত্র রয়েছে যা আপনি এটির আকার খুঁজে বের করতে যে কোনও অ্যারে ব্যবহার করতে পারেন:

    String[] s = new String[10];
    System.out.println(s.length);

1
এটি কী কী হতে পারে বা কী হতে পারে সে সম্পর্কে প্রযুক্তিগত দিকগুলি না পেয়ে এবং কেবল একটি সংক্ষিপ্ত এবং সংক্ষিপ্ত উত্তর সরবরাহ করার জন্য আপনাকে ধন্যবাদ। আপনার জন্য +1 :)
জোশুয়া বার্নস

9

আপনি যদি চান একটি ফাংশন এটি করতে

Object array = new String[10];
int size = Array.getlength(array);

আপনি যদি কোন ধরণের অ্যারে যেমন উদাহরণস্বরূপ [int,] বাইট [] বা অবজেক্ট [] ব্যবহার না করেন তবে এটি কার্যকর হতে পারে।


6

দৈর্ঘ্য Stringএবং arrayস্পষ্ট করার মধ্যে পার্থক্য রয়েছে :

int a[] = {1, 2, 3, 4};
String s = "1234";

a.length //gives the length of the array

s.length() //gives the length of the string

যদি এটি স্পষ্ট হয় তবে প্রশ্নটিতে এটি আপডেট করা উচিত।
হোয়াইট্যাট

5

উত্তরটি "তাদের সমস্ত"। একটি জাভা অ্যারে স্থির সংখ্যক উপাদান স্লট সহ বরাদ্দ করা হয়। "দৈর্ঘ্য" বৈশিষ্ট্যটি আপনাকে জানাবে যে কতটি। এই সংখ্যাটি অ্যারের জীবনের জন্য অপরিবর্তনীয়। একটি আকার পরিবর্তনযোগ্য সমতুল্যের জন্য, আপনার জাভা.ইটি.এল. তালিকা তালিকার একটি প্রয়োজন - যেখানে আপনি কতগুলি উপাদান ব্যবহার করছেন তা নির্ধারণের জন্য আকার () পদ্ধতিটি ব্যবহার করতে পারেন।

যাইহোক, "ব্যবহারের" আছে এবং তারপরে ব্যবহার রয়েছে । শ্রেণীর অবজেক্ট অ্যারেতে আপনার এলিমেন্ট স্লট থাকতে পারে যার উপাদানগুলি নাল বস্তু, তাই তারা দৈর্ঘ্যের গুণাবলী গণনা করলেও বেশিরভাগ মানুষের সংজ্ঞা, তারা ব্যবহার হয় না (অ্যাপ্লিকেশনের উপর নির্ভর করে ওয়াইএমএমভি)। নাল / অ-নাল গণনা ফেরত দেওয়ার জন্য কোনও বিল্টিন ফাংশন নেই।

তালিকা অবজেক্টগুলির "ব্যবহারের" আরও একটি সংজ্ঞা রয়েছে। অন্তর্নিহিত স্টোরেজ স্ট্রাকচারগুলির অত্যধিক সৃষ্টি / ধ্বংস এড়াতে সাধারণত এই শ্রেণীর মধ্যে কিছু প্যাডিং রয়েছে। এটি অভ্যন্তরীণভাবে ব্যবহৃত হয়, তবে ফেরত আকার () পদ্ধতিতে গণনা করা হয় না। এবং যদি আপনি তালিকাটি প্রসারিত না করে (অ্যাড পদ্ধতির মাধ্যমে) এই আইটেমগুলিতে অ্যাক্সেস করার চেষ্টা করেন তবে আপনি একটি অবৈধ সূচক ব্যতিক্রম পাবেন।

সুতরাং তালিকাগুলির জন্য, নন, প্রতিশ্রুতিবদ্ধ উপাদানগুলি, সমস্ত প্রতিশ্রুতিবদ্ধ উপাদানগুলি (নাল উপাদানগুলি সহ) বা বর্তমানে বরাদ্দকৃত সম্প্রসারণের স্থান সহ সমস্ত উপাদানগুলির জন্য আপনার "ব্যবহারের" থাকতে পারে।


2

উপরের সমস্ত উত্তর সঠিক। অ্যারেগুলিতে দৈর্ঘ্যের বৈশিষ্ট্য রয়েছে তবে দৈর্ঘ্যের পদ্ধতি নয় observe আপনি যখনই জাভাতে স্ট্রিং এবং অ্যারে ব্যবহার করেন তখন আপনি যে তিনটি মৌলিক মডেলের মুখোমুখি হতে পারেন সেগুলি হ'ল:

  1. স্ট্রিং s = নতুন স্ট্রিং ("বিদ্যাসাগর");
    System.out.println (s.length ()); // এই ক্ষেত্রে আমরা কেবল স্ট্রিং ব্যবহার করছি। স্ট্রিংসের জন্য কোনও দৈর্ঘ্যের বৈশিষ্ট্য নেই। আমাদের দৈর্ঘ্য () পদ্ধতিটি ব্যবহার করতে হবে।
  2. int [] s = new int [10]; System.out.println (s.length); // এখানে আমরা অ্যারেগুলির দৈর্ঘ্য বৈশিষ্ট্যটি ব্যবহার করি।
  3. স্ট্রিং [] s = নতুন স্ট্রিং [10];
    System.out.println (s.length); // এখানে তথ্যের ধরণ স্ট্রিং হলেও এটি কোনও একক স্ট্রিং নয়। s স্ট্রিংগুলির অ্যারের জন্য একটি রেফারেন্স। সুতরাং আমরা অ্যারেগুলির দৈর্ঘ্যের বৈশিষ্ট্যটি প্রকাশ করি যে অ্যারেতে কতগুলি স্ট্রিং মাপসই করা যায় express

1

আসলেই আপনার প্রশ্নের উত্তর নয়, তবে আপনি যদি এমন অ্যারের মতো কিছু পেতে চান যা বাড়তে এবং সঙ্কুচিত করতে পারে তবে আপনার জাভাতে কোনও অ্যারে ব্যবহার করা উচিত নয়। অ্যারেলিস্ট বা অন্য কোনও তালিকা প্রয়োগের মাধ্যমে আপনি সম্ভবত সেরা ।

এর আকার পাওয়ার জন্য আপনি তারপরে এটিকে আকার () কল করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.