লুপ ব্যবহারের একমাত্র বিকল্প হ'ল পুনরাবৃত্তি ব্যবহার করা।
আপনি যেমন একটি পদ্ধতি সংজ্ঞায়িত করতে পারেন
public static int sum(List<Integer> ints) {
return ints.isEmpty() ? 0 : ints.get(0) + ints.subList(1, ints.length());
}
এটি একটি সরল লুপ ব্যবহারের তুলনায় খুব অদক্ষ এবং যদি তালিকায় আপনার অনেক উপাদান থাকে তবে এটি ফুটিয়ে উঠতে পারে।
একটি বিকল্প যা স্ট্যাকের ওভারফ্লো এড়ায় তা হ'ল ব্যবহার করা।
public static int sum(List<Integer> ints) {
int len = ints.size();
if (len == 0) return 0;
if (len == 1) return ints.get(0);
return sum(ints.subList(0, len/2)) + sum(ints.subList(len/2, len));
}
এটি ঠিক ততটাই অদক্ষ, তবে স্ট্যাকের ওভারফ্লো এড়াতে পারবে।
একই জিনিস লেখার সবচেয়ে সংক্ষিপ্ততম উপায় way
int sum = 0, a[] = {2, 4, 6, 8};
for(int i: a) {
sum += i;
}
System.out.println("sum(a) = " + sum);
প্রিন্ট
sum(a) = 20
ArrayList"সংক্ষেপণযোগ্য" এমন কিছু না থাকে? অ্যারেলিস্ট এবং একটি অ্যারে অগত্যা একই জিনিস নয়। একটি অ্যারের সংখ্যার যোগফল হিসাবে, এটি উপাদানগুলির উপর লুপ এবং একটি যোগফলের যোগফল গণনা করার জন্য খুব সহজ।