এই পোস্টে আমরা Iterator এবং ListIterator-এর পার্থক্য বুঝব।
Iterator
- এটি ম্যাপ, লিস্ট এবং সেট ট্রাভার্স করতে সাহায্য করে।
- ইটারেটর দিয়ে إندেক্স বের করা যায় না।
- ইটারেটর কলেকশনের এলিমেন্ট মডিফাই বা রিপ্লেস করতে পারে না।
- এটি কলেকশনে থাকা এলিমেন্টগুলো ট্রাভার্স করে।
- এই ইটারেশন শুধু ফরওয়ার্ড (forward) ডিরেকশনে করা যায়।
- এলিমেন্ট যোগ করা যায় না, কারণ ConcurrentModificationException থ্রো করবে।
- ইটারেটরের মেথডগুলো: 'next()', 'remove()', 'hasNext()'।
ListIterator
- এটি শুধু লিস্ট ট্রাভার্স করতে সাহায্য করে।
- এটি ম্যাপ এবং সেট ট্রাভার্স করতে পারে না।
- এটি কলেকশনে থাকা এলিমেন্টগুলো ট্রাভার্স করতে পারে।
- ট্রাভার্সাল ফরওয়ার্ড এবং ব্যাকওয়ার্ড (backward) দু쪽 ডিরেকশনে করা যায়।
- ListIterator-এর কিছু মেথড: 'nextIndex()', 'previousIndex()', 'previous()', 'next()'।
- এলিমেন্ট মডিফাই বা রিপ্লেস করা যায়।
- কলেকশনে যেকোনো সময় এলিমেন্ট যোগ করা যায়।