[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] 繰り返し処理




繰り返し処理にはEnumerationを使うと良いというのを見て早速実験しようと
思ったんですが、docでEnumerationを見るとIteratorを使ったほうがよいとありまし
た。
しかし、Enumerationでの繰り返し処理は出来たのですが
Iteratorでの繰り返し処理は出来なかったのです。使い方が違うのでしょうか?
どなたか分かる方いらっしゃったらお願いします。


import java.util.*;

public class TestArray
{
	public TestArray()
	{
		Vector v = new Vector();
		
		v.add(new StrucObj("abc"));
		v.add(new StrucObj("def"));
		v.add(new StrucObj("ghi"));
		v.add(new StrucObj("jkl"));
		v.add(new StrucObj("mno"));
		
		//Iterator i = (Iterator)v.elements();
		
		
		/*
		動くの確認
		for (Enumeration e = v.elements(); e.hasMoreElements(); )
		{
     		   StrucObj o = (StrucObj)e.nextElement();
     		   System.out.println(o.getTopic());
    		}
    		*/
    		//こっちは動かない
    		for(Iterator i = (Iterator)v.elements() ; i.hasNext() ;)
		{
			StrucObj o = (StrucObj)i.next();
			System.out.println(o.getTopic());
		}
	}
	
	public static void main(String args[])
	{
		new TestArray();
	}
}

class StrucObj
{
	private String topic;
	
	public StrucObj(String topic)
	{
		setTopic(topic);
	}
	
	public void setTopic(String topic)
	{
		this.topic = topic;
	}
	
	public String getTopic()
	{
		return this.topic;
	}
}

 ---------------------------------------------------------
  --    TAKEHIRO YAMANE                                 --
     --   OFFICE    tayamane@xxxxxxxxxx         --
        --   PRIVATE  milmil@xxxxxxxxxx      --
          -------------------------------------