Java program to reverse array for the any generic type:
package com.rohan.ArrayUsingReflection;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ReverseArray {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("sbg");
list.add("Rohan");
list.add("Pankhuri");
for(String str : list) {
System.out.println("list element: "+str);
}
System.out.println("==========================");
Iterator<String> itr = list.iterator();
while(itr.hasNext()) {
System.out.println("list element: "+itr.next());
}
System.out.println("==========================");
try {
double [] vals = {1.1, 1.2, 1.3, 1.4, 1.5};
reverseArray(vals);
for(double elem: vals)
System.out.format(" %3.1f ", elem);
System.out.println();
String [] nums = {"one", "two", "three", "four"};
reverseArray(nums);
for(String elem: nums)
System.out.format(" %s ", elem);
System.out.println();
} catch (Exception e) {
e.printStackTrace(System.err);
}
}
private static <T> void reverseArray(T array) {
int len = Array.getLength(array);
for(int i = 0; i < len/2; i++) {
Object temp = Array.get(array, len-i -1);
Array.set(array, len-i-1, Array.get(array, i));
Array.set(array, i, temp);
}
}
}
Comments
Post a Comment