আমি দুটি নতুন অ্যারে একসাথে অবজেক্টগুলির একটি নতুন অ্যারে তৈরি করতে চাই।
এগুলি শূন্য হতে পারে না, তবে আকার 0 হতে পারে।
আমি এই দুটি উপায়ের মধ্যে চয়ন করতে পারি না: সেগুলি কি সমতুল্য বা আরও কার্যকর (উদাহরণস্বরূপ system.arraycopy () পুরো খণ্ডগুলি অনুলিপি করে)?
MyObject[] things = new MyObject[publicThings.length+privateThings.length];
System.arraycopy(publicThings, 0, things, 0, publicThings.length);
System.arraycopy(privateThings, 0, things, publicThings.length, privateThings.length);
বা
MyObject[] things = new MyObject[publicThings.length+privateThings.length];
for (int i = 0; i < things.length; i++) {
if (i<publicThings.length){
things[i] = publicThings[i]
} else {
things[i] = privateThings[i-publicThings.length]
}
}
কোডের চেহারাটি কি কেবল তফাত?
সম্পাদনা: লিঙ্কিত প্রশ্নের জন্য ধন্যবাদ, তবে তাদের মনে হচ্ছে যে কোনও নিষ্পত্তিহীন আলোচনা হয়েছে:
এটি কি সত্যই দ্রুত হয় যদি it is not for native types: বাইট [], অবজেক্ট [], চর []? অন্য সমস্ত ক্ষেত্রে, একটি টাইপ চেক কার্যকর করা হয়, যা আমার ক্ষেত্রে এবং তাই সমান হবে ... না?
অন্য সংযুক্ত প্রশ্নে, তারা বলে যে the size matters a lotআকারের জন্য> 24 সিস্টেম.আররেইকপি () জিতবে, 10 এর চেয়ে কমের জন্য লুপের জন্য ম্যানুয়াল আরও ভাল ...
এখন আমি সত্যিই বিভ্রান্ত।



arraycopy()একটি নেটিভ কল, যা অবশ্যই খুব দ্রুত।