在LinkedList中使用Iterator打印对象的属性 - Java

时间:2016-04-15 17:51:06

标签: java

我想用迭代器打印Object Reiter的A(getA()),但我似乎找不到任何有用的东西。你可以帮忙吗?

public static void main (String args[]){

    LinkedList<Reiter> reiter = new LinkedList<Reiter>();

    reiter.add(new Reiter(55));
    reiter.add(new Reiter(30));
    reiter.add(new Reiter(70));
    reiter.add(new Reiter(35));
    reiter.add(new Reiter(60));
    reiter.add(new Reiter(45));
    reiter.add(new Reiter(65));
    reiter.add(new Reiter(40));
    reiter.add(new Reiter(25));
    reiter.add(new Reiter(50));

    Iterator it = reiter.iterator();

    while(it.hasNext()){

        System.out.print(it.next());
    }

}

class Reiter{

    int a;
    public Reiter(int a){
         this.a = a;
    }
    public int getA(){
         return a;
}

2 个答案:

答案 0 :(得分:3)

您正在使用Iterator的原始格式,它将返回Object个。您可以使用pre-Java 1.5解决方案 - 将返回的对象强制转换为Reiter - 或者您可以使用Iterator的通用形式,将Reiter作为类型参数提供给{ {1}}。

Iterator

这样您就可以将返回的对象视为Iterator<Reiter> it = reiter.iterator(); 并致电Reiter

getA()

答案 1 :(得分:1)

在你的while循环中:

while(it.hasNext()){
   System.out.print(it.next());
}

你需要打印it.next()。getA();

只需打印it.next()即可打印对象。

因此该行应更改为

System.out.print(it.next().getA());