আমি মনে করি আমার মন্তব্যটি কিছুটা বাড়িয়ে দেওয়া দরকার ...
দৃষ্টান্ত \ শৈলী সম্পর্কে
এটি সম্ভবত সবচেয়ে উল্লেখযোগ্য দিক। আপনি পার্শ্ব-প্রতিক্রিয়া এড়িয়ে যা পেতে পারেন তার কারণে এফপি জনপ্রিয় হয়ে উঠেছে। আপনি এগুলি থেকে কী লাভ করতে পারবেন তা আমি গভীরভাবে প্রকাশ করব না, কারণ এটি প্রশ্নের সাথে সম্পর্কিত নয়।
তবে আমি বলব যে Iterable.forEach ব্যবহার করে পুনরাবৃত্তিটি এফপি দ্বারা অনুপ্রাণিত হয়েছিল এবং জাভাতে আরও এফপি আনার ফলস্বরূপ (আমি বিস্মৃতভাবে বলতে চাই যে, খাঁটি এফপিতে ফরচেকের জন্য খুব বেশি কিছু নেই), কারণ এটি প্রবর্তন ছাড়া কিছুই করে না ক্ষতিকর দিক).
শেষ পর্যন্ত আমি বলব যে এটি বর্তমানে স্বাদ \ স্টাইল \ দৃষ্টান্তের বিষয় যা আপনি বর্তমানে লিখছেন।
সমান্তরালতা সম্পর্কে।
পারফরম্যান্সের দৃষ্টিকোণ থেকে Iterable.forEach ওভার ফরচ (...) ব্যবহার করে কোনও প্রতিশ্রুতিযুক্ত উল্লেখযোগ্য সুবিধা নেই।
Iterable.forEach এর সরকারী দস্তাবেজ অনুসারে :
সমস্ত উপাদান প্রক্রিয়াজাত না হওয়া বা ক্রিয়াটি একটি ব্যতিক্রম ছুঁড়ে না দেওয়া পর্যন্ত পুনরাবৃত্ত হওয়ার সময় ক্রম উপাদানগুলি ক্রম হিসাবে আইটেবলের সামগ্রীতে প্রদত্ত ক্রিয়া সম্পাদন করে ।
... অর্থাৎ দস্তাবেজগুলি আরও স্পষ্ট যে কোনও নিখুঁত সমান্তরালতা থাকবে না। একটি যুক্ত করা LSP লঙ্ঘন হবে।
এখন, জাভা 8-তে প্রতিশ্রুতি দেওয়া হয়েছে "সমান্তরাল সংগ্রহ" রয়েছে, তবে আমার সাথে আপনার আরও সুস্পষ্টভাবে প্রয়োজন এবং তাদের ব্যবহার করার জন্য কিছু অতিরিক্ত যত্ন রাখা (উদাহরণস্বরূপ mschenk74 এর উত্তর দেখুন) work
বিটিডাব্লু : এক্ষেত্রে স্ট্রিম.ফোর্চ প্রতিটি ব্যবহার করা হবে এবং এটি গ্যারান্টি দেয় না যে প্রকৃত কাজ সমান্তরালে করা হবে (অন্তর্নিহিত সংগ্রহের উপর নির্ভর করে)।
আপডেট: এটি এক নজরে স্পষ্ট এবং সামান্য প্রসারিত নাও হতে পারে তবে স্টাইল এবং পঠনযোগ্যতার দৃষ্টিভঙ্গির আরও একটি বিষয় রয়েছে।
প্রথমত - সরল পুরাতন ফর্ম লুপগুলি সরল এবং পুরানো। প্রত্যেকে তাদের ইতিমধ্যে জানে।
দ্বিতীয়ত এবং আরও গুরুত্বপূর্ণ - আপনি সম্ভবত Iterable.forEach ব্যবহার করতে চান শুধুমাত্র ওয়ান-লাইনার ল্যাম্বডাস দিয়ে। "দেহ" যদি ভারী হয়ে যায় - এগুলি পড়ার মতো নয়। এখান থেকে আপনার কাছে দুটি বিকল্প রয়েছে - অভ্যন্তরীণ ক্লাসগুলি (ইয়াক) ব্যবহার করুন বা সাধারণ প্লেইন ফর্ম লুপ ব্যবহার করুন। লোকেরা প্রায়শই বিরক্ত হয় যখন তারা একই জিনিসগুলি (সংগ্রহের উপরে পুনরাবৃত্তিগুলি) একই কোডবেজে বিভিন্ন উপায় / শৈলী সম্পন্ন করে দেখছে এবং এটি সম্ভবত এটি ঘটবে বলে মনে হচ্ছে।
আবার এটি হতে পারে বা নাও হতে পারে। কোডে কাজ করা লোকের উপর নির্ভর করে।