Java 泛型数组列表

Java 泛型数组列表,java,generics,arraylist,Java,Generics,Arraylist,我正在尝试编写一个返回ArrayList中最小元素的方法,以便在测试程序中调用Integer、String、Rational和Complex类型list的方法。我想我有一个想法,它是这样的: public static <E extends Comparable <E>> E minimum (ArrayList<E> list) { publicstatice最小值(ArrayList列表){ 但我不知道如何像方法中的内容那样启动它。就像我知道方法中应

我正在尝试编写一个返回ArrayList中最小元素的方法,以便在测试程序中调用Integer、String、Rational和Complex类型list的方法。我想我有一个想法,它是这样的:

public static <E extends Comparable <E>> E minimum (ArrayList<E> list) { 
publicstatice最小值(ArrayList列表){

但我不知道如何像方法中的内容那样启动它。就像我知道方法中应该包含什么一样,我的头脑中似乎有想法,但我就是不想把它拿出来。请给我一些关于如何做的建议?

使用Java 8,您可以按照以下方式编写代码:

public static <E extends Comparable<E>> E minimum(ArrayList<E> list) {
    return list.stream().min(Comparator.naturalOrder()).orElse(null);
}
publicstatice最小值(ArrayList列表){
返回list.stream().min(Comparator.naturalOrder()).orElse(null);
}

开始使用整数数组作为参数而不是可比较的列表来实现它。然后使用compareTo()调整算法你能给我看一个代码样本吗?谢谢。不。在数组中求最小值必须是我一生中编写的第一个使用循环的算法。它应该足够简单,你可以找到,特别是如果你正在学习泛型,这是一个复杂得多的问题。你如何找到数组中最大的值是手工计算的?顺便说一句,如果你想作弊,你可以查看java.util.Collections.min()源代码。