Java 获取链接列表中的最小值和最大值

Java 获取链接列表中的最小值和最大值,java,list,Java,List,我编写了以下代码,我看到了Collection.max(list)是一种在链表中查找max的方法。但是,它不能识别集合部分。如何正确使用它 import java.util.LinkedList; public class linkedlist { public static void main (String args[]) { LinkedList<Integer> fl = new LinkedList<Integer>(); fl.add((

我编写了以下代码,我看到了Collection.max(list)是一种在链表中查找max的方法。但是,它不能识别集合部分。如何正确使用它

import java.util.LinkedList;
public class linkedlist {
 public static void main (String args[]) {
     LinkedList<Integer> fl = new LinkedList<Integer>();
     fl.add((int)(Math.random() * (19) + 1));
     fl.add((int)(Math.random() * (19) + 1));
     fl.add((int)(Math.random() * (19) + 1));
     fl.add((int)(Math.random() * (19) + 1));
     fl.add((int)(Math.random() * (19) + 1));
     fl.add((int)(Math.random() * (19) + 1));
     fl.add((int)(Math.random() * (19) + 1));
     fl.add((int)(Math.random() * (19) + 1));
     fl.add((int)(Math.random() * (19) + 1));
     fl.add((int)(Math.random() * (19) + 1));
     System.out.println(fl);
    int max = Collections.max(fl);
   }
}
import java.util.LinkedList;
公共类链接列表{
公共静态void main(字符串参数[]){
LinkedList fl=新建LinkedList();
fl.add((int)(Math.random()*(19)+1));
fl.add((int)(Math.random()*(19)+1));
fl.add((int)(Math.random()*(19)+1));
fl.add((int)(Math.random()*(19)+1));
fl.add((int)(Math.random()*(19)+1));
fl.add((int)(Math.random()*(19)+1));
fl.add((int)(Math.random()*(19)+1));
fl.add((int)(Math.random()*(19)+1));
fl.add((int)(Math.random()*(19)+1));
fl.add((int)(Math.random()*(19)+1));
系统输出打印LN(fl);
int max=Collections.max(fl);
}
}

您可以对列表进行排序,并获得0和大小为1的元素

Collections.sort(fl);
System.out.println(fl);
System.out.println(fl.get(0));
System.out.println(fl.get(fl.size() - 1));
但是,如果您不想对列表进行排序,并且希望保持插入顺序,请执行以下操作

int max = Collections.max(fl);
Collections.sort(fl);
System.out.println(max);
int min = Collections.min(fl);

别忘了导入java.util.Collections

您忘记导入java.util.Collections这将修复您的代码。

避免使用
sort
方法,因为它运行的复杂性更高(
O(nlogn)
),并且会改变列表本身。

尝试此方法时发生了什么?它无法识别集合。max(fl);您的示例没有显示对
集合的导入。这将更改列表,而我们只想从中提取一个值。不需要改变它。