Modifying Enumeration Data Sources

Since the java.util.Enumeration class provides read-only access to the element list it represents, it may intuitively seem that the list of elements is immutable, or cannot be changed. However, the Enumeration is often used as a way to reference data stored in some structure that can change, even while the Enumeration’s elements are being processed. This code creates a Vector, populates it with three elements, and then obtains an Enumeration, which represents the list of elements.

 import java.util.*;public class VecTest {	public static void main(String[] args) {		Vector v = new Vector();		v.addElement("First");		v.addElement("Second");		v.addElement("Third");		Enumeration e = v.elements();		while (e.hasMoreElements()) {			System.out.println(e.nextElement());			if (v.size() > 0) v.removeElementAt(0);		}  //  while (e.hasMoreElements())	}  //  public static void main()}  //  public class VecTest

While you might expect the Enumeration to return three elements, it only returns two, because after the first one is displayed, it is removed from the Vector, causing the Enumeration to skip over the second one. As a result, the output from running this code is:

 FirstThird

To avoid this type of behavior, you should either ensure that the Enumeration’s data source will not change, or create a copy (perhaps using the clone() method) of the source and obtain the Enumeration object from that copy.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

iOS app development

The Future of iOS App Development: Trends to Watch

When it launched in 2008, the Apple App Store only had 500 apps available. By the first quarter of 2022, the store had about 2.18 million iOS-exclusive apps. Average monthly app releases for the platform reached 34,000 in the first half of 2022, indicating rapid growth in iOS app development.

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a