मेमोरी-इफ़िशियंट string प्रोसेसिंग लागू करना
आप एक टेक्स्ट प्रोसेसिंग एप्लिकेशन विकसित कर रहे हैं जिसे एक ही string वैल्यू को कई बार पहले से एक array में भरना है। मौजूदा इम्प्लीमेंटेशन हर loop iteration में नया String ऑब्जेक्ट बनाता है, जो बड़े arrays के लिए अक्षम है। आपका काम इस मेथड का एक अधिक कुशल वर्शन लागू करना है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Java में कोड ऑप्टिमाइज़ करना
अभ्यास निर्देश
- दी गई
valueको दोबारा उपयोग करके लिस्ट में जोड़ें. - अंत में
arrayरिटर्न करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
public class ArrayPopulation {
public static void main(String[] args) {
int size = 10000;
String[] inefficientArray = populateArrayInefficient(size, "DataCamp");
String[] efficientArray = populateArrayEfficient(size, "DataCamp");
System.out.println("Arrays have same length: " + (inefficientArray.length == efficientArray.length));
}
public static String[] populateArrayInefficient(int size, String value) {
String[] array = new String[size];
for (int i = 0; i < size; i++) {
String stringValue = new String(value);
array[i] = stringValue;
}
return array;
}
public static String[] populateArrayEfficient(int size, String value) {
String[] array = new String[size];
for (int i = 0; i < size; i++) {
// Reuse the same String object
array[____] = ____
}
// Return the final array
return ____;
}
}