জাভাতে ইটারেটর কী এবং এটি কীভাবে ব্যবহার করবেন?



জাভা ব্লগে আইট্রেটর আপনাকে পুনরাবৃত্তকারী কী এবং কয়েকটি উদাহরণ দিয়ে জাভাতে কীভাবে এটি ব্যবহার করবেন সে সম্পর্কে আপনাকে সঠিক পরিচয় দেবে

আপনি যদি একটি কাজ করা হয় এবং বলুন যে আপনি একটি সিকোয়েন্স মুদ্রণ করতে চান, সেখানেই জাভাতে ইলিট্রেটার ছবিতে আসে। এইভাবে আপনি প্রতিটি লাইনের জন্য মুদ্রণ বিবৃতি যোগ না করেও ক্রমটি পেতে পারেন। সুতরাং, আইট্রেটার ইন ইন শিখি ।

নীচে আমি এই মডিউলে যে বিষয়গুলি আবরণ করব তা নীচে দেওয়া হল:





চল শুরু করি!

একটি পুনরাবৃত্তি কি?

জাভা মূলত চারটি আলাদা কার্সার সমর্থন করে। তারা হ'ল:



  • গণনা
  • আইট্রেটার
  • তালিকার তালিকাভুক্ত
  • বিভাজন

এই জাভা কার্সরের প্রত্যেকটির কিছু সুবিধা এবং ঘাটতি রয়েছে। আমরা এই নিবন্ধে Iterator উপর ফোকাস করব।

জাভাস্ক্রিপ্ট একটি পদ্ধতি কি

এখন, জাভাতে একটি পুনরাবৃত্তি কি?

আইট্রেটার একটি ইন্টারফেস যা সংগ্রহের কাঠামোর সাথে সম্পর্কিত। এটি আপনাকে সংগ্রহটি অতিক্রম করতে অনুমতি দেয়, ডেটা উপাদানটি অ্যাক্সেস করে এবং সংগ্রহের ডেটা উপাদানগুলি সরিয়ে দেয়।



আপনি এটি যে কোনওটিতে প্রয়োগ করতে পারেন হিসাবে এটি একটি ইউনিভার্সাল পুনরুক্তি হিসাবে বিবেচিত হয় অবজেক্ট একজন আইট্রেটার ব্যবহার করে, আপনি উভয়ই পড়া এবং অপারেশন অপসারণ করতে পারেন। এটির একটি উন্নত সংস্করণ গণনা একটি উপাদানের অপসারণ-ক্ষমতা অতিরিক্ত কার্যকারিতা সহ।

জাভা Iterator পদ্ধতি

জাভা পুনরুদ্ধারকারী মোট 4 পদ্ধতি আছে। আসুন তাদের বিস্তারিতভাবে বুঝতে পারি।

অজগর শক্তি ব্যবহার কিভাবে
পদ্ধতিবর্ণনা
forEachRemaining (গ্রাহক)এটি সমস্ত উপাদানগুলির প্রক্রিয়া না করা অবধি এবং প্রতিটি উপাদানটিতে ক্রিয়া সম্পাদন করে। ক্রিয়া দ্বারা একটি ব্যতিক্রম ছোঁড়া পর্যন্ত।
হেক্সটেক্সট ()এই প্রত্যাবর্তন সত্যিকারের মান যদি পুনরাবৃত্তির সময় একটি সংখ্যক উপাদানের মুখোমুখি হয়।
পরবর্তী()এই প্রত্যাবর্তন পুনরাবৃত্তির সময় পরবর্তী নির্দিষ্ট উপাদান।
অপসারণ()এই পদ্ধতিটি আরবর্তমান উপাদানকে টেনে আনে। নিক্ষেপ অবৈধ রাজ্য ব্যতিক্রম যদি কল অপসারণের চেষ্টা করা হয় () যা পরবর্তী () এ কল করার আগে নয়।
বুলিয়ান হ্যান্সেক্সট ()যদি পুনরাবৃত্তির আরও উপাদান থাকে তবে এটি সত্য হয়।

উদাহরণ:

বর্গ পদ্ধতি {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরোগুলি) অ্যারেলিস্ট তালিকা = নতুন অ্যারেলিস্ট () list.add ('ই') list.add ('ডি') list.add ('ইউ') list.add ('আর ') list.add (' E ') list.add (' K ') list.add (' A ') // তালিকাটি অনুসরণ করার জন্য আইট্রেটর পুনরায় আইট্রেটর = list.iterator () System.out.println (' উপাদানসমূহের তালিকাবদ্ধ করুন) : ') থাকাকালীন (পুনরাবৃত্ত.হাসনেক্সট ()) সিস্টেম.আউট.প্রিন্ট (পুনরাবৃত্তকারী.নেক্সট () +' ') System.out.println ()}}

আউটপুট: এডেরেকা

আসুন জাভাতে লিস্টিস্ট্রেটরের দিকে একবার নজর দেওয়া যাক।

জাভাতে তালিকাভুক্ত

তালিকার তালিকাভুক্ত জাভাতে এমন একটি আইট্রেটর যা ব্যবহারকারীদের উভয় দিক থেকে সংগ্রহের মধ্য দিয়ে যেতে পারে। এটিতে নিম্নলিখিত পদ্ধতি রয়েছে:

পদ্ধতিপদ্ধতি ও বর্ণনা
অকার্যকর অ্যাড (অবজেক্ট আপত্তি) উপাদানটির সামনে তালিকায় আপত্তি সন্নিবেশ করানো হয় যা পরের () এর পরের কল দ্বারা ফিরে আসবে।
বুলিয়ান হ্যান্সেক্সট () পরবর্তী উপাদান থাকলে সত্য হয় true অন্যথায়, মিথ্যা প্রত্যাবর্তন।
বুলিয়ান হ্যাশপ্রেইস () পূর্ববর্তী উপাদান থাকলে সত্য হয়। অন্যথায়, মিথ্যা প্রত্যাবর্তন।
পরের বস্তু () পরবর্তী উপাদানটি প্রদান করে। যদি পরবর্তী উপাদানগুলি না থাকে তবে একটি NoSuchElementException নিক্ষেপ করা হয়।
পূর্ববর্তী ইনডেক্স () পরবর্তী উপাদানটির সূচক ফেরত দেয়। পরবর্তী উপাদান না থাকলে তালিকার আকারটি প্রদান করে।
পূর্ববর্তী অবজেক্ট () পূর্ববর্তী উপাদানটি প্রদান করে। পূর্ববর্তী উপাদান না থাকলে একটি NoSuchElementException নিক্ষেপ করা হয়।
পূর্ববর্তী ইনডেক্স () পূর্ববর্তী উপাদানটির সূচক ফেরত দেয়। পূর্ববর্তী উপাদান না থাকলে, -1 প্রদান করে।
অকার্যকর অপসারণ () তালিকা থেকে বর্তমান উপাদান সরিয়ে দেয়। পরবর্তী () বা পূর্ববর্তী () চাওয়ার আগে মুছে ফেলা () বলা হলে একটি অবৈধ স্ট্যাটেক্সেপশন নিক্ষেপ করা হয়।
অকার্যকর সেট (অবজেক্ট আপত্তি) বর্তমান উপাদানটির আপত্তি নির্ধারণ করে। এটি পরবর্তী উপাদানটি সর্বশেষে পরবর্তী () বা পূর্ববর্তী () এর কাছে কল দিয়ে ফিরে এসেছে।

উদাহরণ:

পাবলিক বর্গ তালিকা {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) {// অ্যারে তালিকা তৈরি করুন অ্যারেলিস্ট আল = নতুন অ্যারেলিস্ট () // অ্যারে তালিকায় উপাদান যুক্ত করুন al.add ('ই') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // এর সামগ্রী প্রদর্শন করতে পুনরুক্তি ব্যবহার করুন al System.out.print ('আল এর মূল বিষয়বস্তু:') Iterator itr = al.iterator () যখন (itr.hasNext ()) ject অবজেক্ট এলিমেন্ট = itr.next () System.out.print (উপাদান + '' )} System.out.println () // পুনরুক্তিযুক্ত অবজেক্টগুলি লিস্টিটেটার লিটার = al.listIterator () করার সময় (litr.hasNext ()) {অবজেক্ট এলিমেন্ট = litr.next () litr.set (উপাদান + '+') । System.out.print ('al এর পরিবর্তিত সামগ্রী:') itr = al.iterator () যখন (itr.hasNext ()) ject অবজেক্ট এলিমেন্ট = itr.next () System.out.print (উপাদান + '') । System.out.println () // এখন, তালিকাটি পিছনের দিকে প্রদর্শিত হবে System.out.print ('পরিবর্তিত তালিকা পিছনের দিকে:') যখন (litr.hasPreLive ()) ject অবজেক্ট এলিমেন্ট = litr.pritter () System.out। মুদ্রণ (উপাদান + '')} System.out.println ()}

আউটপুট:

আসলআল বিষয়বস্তু:E D U R E K A
সংশোধিতআল বিষয়বস্তু:আইএস+ডি++আর+আইএস+প্রতি+ এ +
সংশোধিতপিছনে তালিকা:প্রতি+প্রতি+আইএস+আর++ডি+ এবং +

এখন, জাভাতে এই পুনরুক্তি ইন্টারফেসের সুবিধা এবং সীমাবদ্ধতাগুলি একবার দেখে নেওয়া যাক।

জাভা মধ্যে Iterator এর সুবিধা

জাভা মধ্যে Iterator নিম্নলিখিত সুবিধা রয়েছে।

  • আপনি যেকোন সংগ্রহে শ্রেণীর জন্য এই পুনরাবৃত্তিগুলি ব্যবহার করতে পারেন।
  • জাভা মধ্যে Iterator উভয় সমর্থন করে পড়া পাশাপাশি অপসারণ অপারেশন।
  • আপনি যদি ব্যবহার করছেন লুপ জন্য তুমি পার না কোনও আপডেটের সাহায্যে আপনি সহজেই সংগ্রহ আপডেট করতে পারবেন যেখানে সংগ্রহ আপডেট করুন (যোগ করুন / সরান)।
  • এটি সংগ্রহের এপিআইয়ের জন্য সর্বজনীন কার্সার।
  • পদ্ধতির নামগুলি খুব সাধারণ এবং ব্যবহার করা খুব সহজ।

জাভাতে আইট্রেটারের সীমাবদ্ধতা

জাভাতে আইট্রেটারগুলির নিম্নলিখিত ত্রুটিগুলি রয়েছে:

  • আপনি কেবল সামনের দিকের পুনরাবৃত্তি সম্পাদন করতে পারেন, এটি ইউনি-দিকনির্দেশক Iterator।
  • একটি নতুন উপাদান প্রতিস্থাপন এবং সংযোজন ইটারের দ্বারা সমর্থিত নয়।
  • তালিকার তালিকাটি সবচেয়ে শক্তিশালী পুনরাবৃত্তিকারী তবে এটি কেবল তালিকাভুক্ত শ্রেণিবদ্ধের জন্য প্রযোজ্য। সুতরাং এটি কোনও ইউনিভার্সাল পুনরুক্তিকারী নয়।
  • আপনি যখন CRUD অপারেশনগুলি ব্যবহার করেন, এটি ক্রিয়েড এবং আপডেট অপারেশনগুলিকে সমর্থন করে না।
  • আপনি যখন এটি স্প্লিটেরেটরের সাথে তুলনা করেন, এটি আপনাকে উপাদানগুলিকে সমান্তরালে পুনরাবৃত্তি করতে দেয় না। এর অর্থ এটি কেবল সিক্যুয়ালিয়াল পুনরাবৃত্তি সমর্থন করে।
  • এটি বৃহত পরিমাণে ডেটা পুনরাবৃত্তি করতে আরও ভাল পারফরম্যান্স সমর্থন করে না।

এটি আমাদের এই নিবন্ধের শেষের দিকে নিয়ে আসে যেখানে আমরা জাভাতে পুনরায় কাজ করার পদ্ধতি সম্পর্কে শিখেছি। আশা করি এই টিউটোরিয়ালে আপনার সাথে যা ভাগ করা হয়েছে তার সাথে আপনি পরিষ্কার হয়ে গেছেন।

সি ++ এ ফিবোনাচি ক্রম

যদি আপনি 'জাভাতে আইট্রেটার' সম্পর্কিত এই নিবন্ধটি খুঁজে পেয়ে থাকেন তবে এটি দেখুন বিশ্বজুড়ে ছড়িয়ে থাকা 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা।

আমরা আপনার যাত্রার প্রতিটি পদক্ষেপে আপনাকে সহায়তা করতে এখানে আছি, এর বাইরে আমরা একটি পাঠ্যক্রম নিয়ে এসেছি যা জাভা ডেভেলপার হতে চান এমন শিক্ষার্থী এবং পেশাদারদের জন্য নকশাকৃত। কোর্সটি আপনাকে জাভা প্রোগ্রামিংয়ে একটি প্রধান সূচনা দেওয়ার জন্য এবং হাইবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।

আপনি যদি কোনও প্রশ্ন আসেন তবে নির্দ্বিধায় আপনার সমস্ত প্রশ্ন 'জাভাতে পর্যবেক্ষক' এর মন্তব্য বিভাগে জিজ্ঞাসা করুন এবং আমাদের দলটি উত্তর দিতে পেরে খুশি হবে।