使用java泛型类定义一个findMax方法找出数组中最大值
时间: 2024-09-18 15:13:16 浏览: 64
你可以使用Java泛型类定义一个`FindMax`方法,这个方法接收一个数组作为参数,然后找出数组中的最大值。下面是一个简单的示例:
```java
import java.util.Arrays;
class FindMax<T extends Comparable<T>> {
private T maxElement;
public FindMax(T[] array) {
if (array != null && array.length > 0) {
maxElement = array[0];
for (T element : array) {
if (element.compareTo(maxElement) > 0) {
maxElement = element;
}
}
} else {
throw new IllegalArgumentException("Array cannot be empty or null");
}
}
public T getMax() {
return maxElement;
}
public static void main(String[] args) {
Integer[] intArray = {5, 2, 9, 1, 7};
FindMax<Integer> findMaxInt = new FindMax<>(intArray);
System.out.println("Max value in the integer array: " + findMaxInt.getMax());
String[] strArray = {"apple", "banana", "cherry"};
FindMax<String> findMaxStr = new FindMax<>(strArray);
System.out.println("Max value in the string array: " + findMaxStr.getMax());
}
}
```
在这个例子中,我们定义了一个泛型类`FindMax`,其类型参数`T`必须实现`Comparable`接口,以便我们可以使用`compareTo`方法比较元素。`findMax`方法遍历数组,每次遇到比当前最大值更大的元素,就更新最大值。`getMax`方法返回找到的最大值。
阅读全文