কম্পিউটার

জাভাতে Collection.stream().forEach() এবং Collection.forEach() এর মধ্যে পার্থক্য


Collection.stream().forEach() এবং Collection.forEach() উভয়ই সংগ্রহের উপর পুনরাবৃত্তি করতে ব্যবহৃত হয়।

Collection.forEach() সংগ্রহের পুনরাবৃত্তিকারী ব্যবহার করে। বেশিরভাগ সংগ্রহগুলি তাদের উপর পুনরাবৃত্তি করার সময় কাঠামোগতভাবে পরিবর্তনের অনুমতি দেয় না। পুনরাবৃত্তির সময় কোনো উপাদান যুক্ত বা অপসারণ করলে তারা অবিলম্বে সমবর্তী পরিবর্তন ব্যতিক্রম নিক্ষেপ করবে। যদি Collection.forEach() সিঙ্ক্রোনাইজ করা সংগ্রহের উপর পুনরাবৃত্তি করে তাহলে তারা সংগ্রহের সেগমেন্টটি লক করবে এবং এটিকে সমস্ত কল জুড়ে ধরে রাখবে।

Collection.stream().forEach() সংগ্রহের পুনরাবৃত্তি করার জন্যও ব্যবহার করা হয় তবে এটি প্রথমে সংগ্রহটিকে স্ট্রীমে রূপান্তর করে এবং তারপর সংগ্রহের স্রোতে পুনরাবৃত্তি করে তাই প্রক্রিয়াকরণের ক্রমটি অনির্ধারিত। এটি সমসাময়িক পরিবর্তনের ব্যতিক্রমকেও ছুঁড়ে দেয়, যদি সেগুলির উপর পুনরাবৃত্তি করার সময় কোনো কাঠামোগত পরিবর্তন ঘটে থাকে তবে তা অবিলম্বে একটি ব্যতিক্রম নিক্ষেপ করবে৷

Sr. না.
কী
Collection.forEach()
Collection.stream().forEach()

1

মৌলিক

Collection.forEach() সংগ্রহের পুনরাবৃত্তিকারী ব্যবহার করে

Collection.stream().forEach() সংগ্রহটি পুনরাবৃত্তি করার জন্যও ব্যবহৃত হয় তবে এটি প্রথমে সংগ্রহটিকে স্ট্রীমে রূপান্তর করে এবং তারপরে সংগ্রহের স্রোতে পুনরাবৃত্তি করে

2

অর্ডার

এটি সর্বদা ইটারেবলের পুনরাবৃত্তি ক্রম অনুসারে কার্যকর করা হয়, যদি একটি নির্দিষ্ট করা হয়।

অর্ডার সংজ্ঞায়িত করা হয়নি

3

তালা

যদি সিঙ্ক্রোনাইজ করা সংগ্রহের উপর পুনরাবৃত্তি ঘটতে থাকে তবে এটি সংগ্রহটিকে লক করে এবং সমস্ত কল জুড়ে ধরে রাখে

এটা সংগ্রহ লক করে না

4.

ব্যতিক্রম

সংগ্রহে কোনো কাঠামোগত পরিবর্তন ঘটলে তা অবিলম্বে একটি ব্যতিক্রম ছুঁড়ে দেবে

ব্যতিক্রম পরে নিক্ষেপ করা হবে

Example Collection.stream().forEach

import java.util.ArrayList;
import java.util.List;
public class Main {
   public static void main(String[] args) {
      List list= new ArrayList();
      list.add("Ram");
      list.add("TutorialPoints");
      list.stream().forEach(System.out::print);
   }
}

Example Collection.forEach

import java.util.ArrayList;
import java.util.List;
public class Main {
   public static void main(String[] args) {
      List list= new ArrayList();
      list.add("Ram");
      list.add("TutorialPoints");
      list.forEach(System.out::print);
   }
}

  1. জাভাতে ব্যতিক্রম এবং ত্রুটির মধ্যে পার্থক্য

  2. জাভাতে সিরিয়ালাইজেশন এবং এক্সটারনালাইজেশনের মধ্যে পার্থক্য

  3. জাভাতে ইটারেটর এবং গণনার মধ্যে পার্থক্য

  4. জাভাতে অ্যারেলিস্ট এবং হ্যাশসেটের মধ্যে পার্থক্য