我正在制作一个应用程序,用户可以根据目的地和旅行时间保存旅行。然后我想知道最长的是什么。所有旅行都是LinkedList中的对象,旅行的长度是整数。
如何获得旅行时间的最高值?
解决方案:使用迭代通过节点结束:
for (Travel travel : travelList) {
longest = travel.getLength();
destination = travel.getDest();
if (travel.getLength() >= longest)
{
destination = travel.getDest();
}
}
答案 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
方法