当作为类的成员时,Java迭代队列

时间:2012-01-29 16:47:45

标签: java iterator

有一种方法可以在Java中迭代对象的成员变量吗? 我有这种情况:

class ItemToUpdateTipo0 {        
  public String        ticker;

  public ItemToUpdateTipo0() {
  }

  public ItemToUpdateTipo0(String ticker) {
    this.ticker = ticker;
  }
}


public class DataStoreTipo0 {        
  private Queue <ItemToUpdateTipo0> QueueItemToUpdateTipo0 = new ConcurrentLinkedQueue<ItemToUpdateTipo0>();
  ...
}

有办法做一些事情:

public static void main(String[] args){
  DataStoreTipo0 dataStoreTipo0 = new DataStoreTipo0();

  for (ItemToUpdateTipo0 obj : dataStoreTipo0) {
    System.out.println(obj.titolo);        
  }
}

提前致谢。

1 个答案:

答案 0 :(得分:3)

让您的类实现Iterable接口以实现此目的。

如,

class DataStoreTipo0 implements Iterable<ItemToUpdateTipo0> {
   private Queue<ItemToUpdateTipo0> queueItemToUpdateTipo0 = new ConcurrentLinkedQueue<ItemToUpdateTipo0>();

   @Override
   public Iterator<ItemToUpdateTipo0> iterator() {
      return queueItemToUpdateTipo0.iterator();
   }
}

请注意,您需要编辑代码,使其遵循Java命名约定。例如,类应以大写字母开头,而方法和字段应以小写字母开头。您也不想尝试直接访问ItemToUpdateTipo0的字段,而是使用公共getter和可能的setter方法为您执行此操作。

相关问题