এ কেমন?
public String fillSpaces(int len) {
/* the spaces string should contain spaces exceeding the max needed */
String spaces = " ";
return spaces.substring(0,len);
}
সম্পাদনা: ধারণাটি পরীক্ষা করার জন্য আমি একটি সাধারণ কোড লিখেছি এবং এখানে আমি কী খুঁজে পেয়েছি।
পদ্ধতি 1: একটি লুপে একক স্থান যুক্ত করা:
public String execLoopSingleSpace(int len){
StringBuilder sb = new StringBuilder();
for(int i=0; i < len; i++) {
sb.append(' ');
}
return sb.toString();
}
পদ্ধতি 2: 100 স্পেস এবং লুপ যুক্ত করুন, তারপরে সাবস্ট্রিং:
public String execLoopHundredSpaces(int len){
StringBuilder sb = new StringBuilder(" ")
.append(" ").append(" ").append(" ")
.append(" ").append(" ").append(" ")
.append(" ").append(" ").append(" ");
for (int i=0; i < len/100 ; i++) {
sb.append(" ")
.append(" ").append(" ").append(" ")
.append(" ").append(" ").append(" ")
.append(" ").append(" ").append(" ");
}
return sb.toString().substring(0,len);
}
ফলাফলটি আমি 12,345,678 টি স্পেস তৈরি করছি:
C:\docs\Projects> java FillSpace 12345678
method 1: append single spaces for 12345678 times. Time taken is **234ms**. Length of String is 12345678
method 2: append 100 spaces for 123456 times. Time taken is **141ms**. Length of String is 12345678
Process java exited with code 0
এবং 10,000,000 স্পেসের জন্য:
C:\docs\Projects> java FillSpace 10000000
method 1: append single spaces for 10000000 times. Time taken is **157ms**. Length of String is 10000000
method 2: append 100 spaces for 100000 times. Time taken is **109ms**. Length of String is 10000000
Process java exited with code 0
প্রত্যক্ষ বরাদ্দ এবং পুনরাবৃত্তির সংমিশ্রণে সর্বদা বিশাল স্থান তৈরি করার সময় কমপক্ষে 60 মিমি কম সময় লাগে। ছোট আকারের জন্য, উভয় ফলাফলই নগণ্য।
তবে দয়া করে মন্তব্য করা চালিয়ে যান :-)