分析以下需求,并用代码实现:
(1)编写一个泛形方法,实现指定位置数组元素的交换
(2)编写一个泛形方法,接收一个任意数组,并反转数组中的所有元素
import java.util.Arrays;
public class Demo04 {
public static void main(String[] args) {
String[] strArr = new String[] { "刘德华", "胡歌", "霍建华", "张杰", "李晨" };
method(3,4,strArr);
System.out.println(Arrays.toString(strArr));
// 泛型只能操作引用数据类型
fanZhuan(strArr);
System.out.println(Arrays.toString(strArr));
System.out.println("==============");
fanZhuan1(strArr);
for (String string : strArr) {
System.out.print(string + " ");
}
}
// 组内元素交换
public static <T> void method(int a, int b, T[] t) {
T y = t[a];
t[a] = t[b];
t[b] = y;
}
// 组内元素反转
// 第一种反转方法t[0]=t[ t.length - 1-0] t[1]=t[ t.length - 1-1]
public static <T> void fanZhuan(T[] t) {
for (int i = 0; i < t.length / 2; i++) {
method(i, t.length - 1 - i, t);
}
}
// 第二种反转方法
public static <T> void fanZhuan1(T[] t) {
for (int start = 0, end = t.length - 1; start <= end; start++, end--) {
T n = t[start];
t[start] = t[end];
t[end] = n;
}
}
}
}
}
|
|