此方法应该返回对象最受欢迎的朋友。我虽然这个循环会在arraylist中添加一个getFriend().size() > 0
的对象。然后它会将下一个对象getFriend().size()
与ArrayList中的对象进行比较。该对象将被添加到ArrayList,而另一个对象将被删除,如果它有更多的朋友。
// Class variables
// the person's name
private String name;
// a list of this person's friends
private ArrayList<Person> friends;
public Person mostConnectedFriend(){
for(Person f : friends){
ArrayList<Integer> mostFriends = new ArrayList<>();
int amountOfFriends = 0;
if(getFriends().size() > amountOfFriends){
mostFriends.remove(amountOfFriends);
mostFriends.add(amountOfFriends);
}
} return null;
}
答案 0 :(得分:3)
假设您展示的代码位于Person
课程内,并且您正试图找出this
个朋友中哪些朋友拥有最多的自己朋友,那么这可能有用:
public Person mostConnectedFriend() {
int highestFriendCount = 0;
Person friendWithHighestFriendCount = null;
for (Person friend : friends) {
int friendCount = friend.friends.size();
if (friendCount > highestFriendcount) {
highestFriendCount = friendCount;
friendWithHighestFriendCount = friend;
}
}
return friendWithHighestFriendCount;
}
这遍历了this
人的每个朋友,并且每次发现朋友的朋友数量高于目前为止检查的其他朋友时,它会替换计数并跟踪当前的朋友。在循环结束时friendWithHighestFriendCount
将保留最好的朋友,highestFriendCount
将保留他们拥有的朋友数量。