从LinkedList获取最大值

时间:2013-04-08 16:52:05

标签: java

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

如何获得旅行时间的最高值?

解决方案:使用迭代通过节点结束:

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

4 个答案:

答案 0 :(得分:1)

考虑迭代链表的每个节点,找出最长的目的地。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

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

然后你可以打电话

Collections.sort(travelsList);

使用compareTo方法

中定义的比较条件对列表进行排序