যদিও এটি প্রশ্নের সরাসরি উত্তর না হলেও এটি .length
বনাম .size()
যুক্তির একটি সংযোজন । আমি এই প্রশ্নের সাথে সম্পর্কিত কিছু গবেষণা করছিলাম তাই যখন আমি এটিটি দেখতে পেলাম তখন লক্ষ্য করেছি যে সংজ্ঞা (গুলি) এখানে সরবরাহ করা হয়েছে
সর্বজনীন চূড়ান্ত ক্ষেত্রের দৈর্ঘ্য, এতে অ্যারের উপাদানগুলির সংখ্যা রয়েছে ।
"ঠিক" সঠিক নয়।
ক্ষেত্রের দৈর্ঘ্যে কোনও উপাদান রাখার জন্য উপলব্ধ জায়গাগুলির সংখ্যা রয়েছে , অ্যারেতে উপস্থিত উপাদানগুলির সংখ্যা নয়। সুতরাং এটি সেই অ্যারেগুলিতে বরাদ্দকৃত মোট উপলব্ধ মেমরির প্রতিনিধিত্ব করে, সেই মেমরির কতটা পূরণ হয় না।
উদাহরণ:
static class StuffClass {
int stuff;
StuffClass(int stuff) {
this.stuff = stuff;
}
}
public static void main(String[] args) {
int[] test = new int[5];
test[0] = 2;
test[1] = 33;
System.out.println("Length of int[]:\t" + test.length);
String[] test2 = new String[5];
test2[0] = "2";
test2[1] = "33";
System.out.println("Length of String[]:\t" + test2.length);
StuffClass[] test3 = new StuffClass[5];
test3[0] = new StuffClass(2);
test3[1] = new StuffClass(33);
System.out.println("Length of StuffClass[]:\t" + test3.length);
}
আউটপুট:
Length of int[]: 5
Length of String[]: 5
Length of StuffClass[]: 5
তবে, এর .size()
সম্পত্তি ArrayList
তালিকার উপাদানগুলির সংখ্যা দেয়:
ArrayList<Integer> intsList = new ArrayList<Integer>();
System.out.println("List size:\t" + intsList.size());
intsList.add(2);
System.out.println("List size:\t" + intsList.size());
intsList.add(33);
System.out.println("List size:\t" + intsList.size());
আউটপুট:
List size: 0
List size: 1
List size: 2