定义一个静态泛型方法,要求:形参为泛型数组,返回一个泛型数组,达到删除改泛型数组重复元素以及null的效果
时间: 2024-12-11 18:35:17 浏览: 13
在Java中,你可以定义一个静态泛型方法来实现这个功能。这种方法通常使用`ArrayList`来临时存储不重复的元素,然后将它们转换回数组。下面是一个简单的示例:
```java
import java.util.ArrayList;
import java.util.Arrays;
public class ArrayUtils {
/**
* 删除并返回指定类型的数组中重复元素,并移除null值
* @param <T> 泛型类型
* @param array 输入的泛型数组
* @return 新的无重复元素且不含null的泛型数组
*/
public static <T> T[] removeDuplicatesAndNull(T[] array) {
// 使用ArrayList保存不重复的元素
ArrayList<T> list = new ArrayList<>();
// 遍历数组,添加非null元素到list中
for (T element : array) {
if (element != null) {
list.add(element);
}
}
// 将ArrayList转换回数组
return list.toArray((T[]) Array.newInstance(array.getClass().getComponentType(), list.size()));
}
// 示例如何使用
public static void main(String[] args) {
Integer[] arr = {1, 2, null, 2, 3, null};
Integer[] result = removeDuplicatesAndNull(arr);
System.out.println(Arrays.toString(result)); // 输出: [1, 2, 3]
}
}
```
阅读全文