gpt4 book ai didi

Java实现Iterable,对于每个和方法

转载 作者:行者123 更新时间:2023-11-30 11:41:47 25 4
gpt4 key购买 nike

我在这个练习中使用了一个算法来实现。我有这个主要的:

    public static void main(String[] args) {
Person a = new Person("Tony");
Person c = new Person("Luke");
Person o = new Person("Ann");

a.addFriends(c);
a.addFriends(o);

for(Person p: a.contacts())
System.out.println(p);
}

如果我用“a”替换“a.contacts()”并使用这个类,代码就可以工作了!但是如何使用“a.contacts()”实现 for-each 循环?谢谢

class Person implements Iterable<Person> {

private Set<Person> friends = new HashSet<Person>();
private String name;

public Person(String name){
this.name = name;
}

public void addFriends(Person o){
friends.add(o);
}

public String toString(){
return this.name;
}


@Override
public Iterator<Person> iterator() {
Iterator<Person> i = friends.iterator();
return i;
}

//Here the contacts method to implement!!

}

最佳答案

让您的contacts() 方法有一个返回类型Set of Person....

public Set<Person> contacts() {
return friends;
}

所以现在下面的将起作用...

for (Person p : a.contacts()) {
System.out.println(p);
}

关于Java实现Iterable,对于每个和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12129603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com