0

我正在制作一个应用程序,用户可以在其中保存目的地和旅行长度的旅行。然后我想看看最长的是什么。所有行程都是 LinkedList 中的对象,行程长度是整数。

我怎样才能获得最高价值的旅行长度?

解决方案:最终通过节点使用迭代:

for (Travel travel : travelList) {
longest = travel.getLength();
destination = travel.getDest();
if (travel.getLength() >= longest)
{
    destination = travel.getDest();
}
}
4

4 回答 4

1

考虑对 LinkedList 的每个节点进行迭代以找出最长的目的地。

于 2013-04-08T16:53:39.837 回答
0

如果您使用自己的 java 对象存储旅行,那么这里是指针。查看 Collections.max() 和 Comparator 和 Comparable 接口。

于 2013-04-08T16:55:27.130 回答
0

您可以利用public static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp).

您需要Comparator首先为您创建一个对象,并在调用该方法时提供一个比较器的实例。

于 2013-04-08T16:58:09.080 回答
0

您可以修改您的 Travel 类,使其实现 Comparable 接口,并添加类似的内容。-

@Override
public int compareTo(Travel another) {
    return getLength().compareTo(another.getLength());
}

然后你可以打电话

Collections.sort(travelsList);

compareTo使用方法中定义的比较标准对列表进行排序

于 2013-04-08T17:02:59.187 回答