Solution 1 - Revere array in Place (not recommended)
package interview;
import java.util.Arrays;
import java.util.List;
public class Reverse_Array {
public static void main(String[] args)
{
int[] arr = {1,2,3,4,5,6,7,8,9,10};
System.out.println("Before : "+Arrays.toString(arr));
/*List<int[]> l = Arrays.asList(arr);
System.out.println(l.toArray());*/
for(int i =0 , j = arr.length-1; i<j; i++,j--)
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
System.out.println("After : "+Arrays.toString(arr));
}
}
Solution 2 - Revere array in Place (for interview)
package phase_one;
import java.util.Arrays;
public class ReverseArray_Using_ForLoop
{
public static void main(String[] args)
{
int[] arr = new int[] {7,84,3,9,11,6};
System.out.println("Before: "+Arrays.toString(arr));
for(int i= 0;i<arr.length/2;i++)
{
int temp = arr[i];
arr[i] = arr[arr.length-i-1];
arr[arr.length-i-1] = temp;
}
System.out.println("After: "+Arrays.toString(arr));
}
}
Solution 3 - Revere array Using Collections
package phase_one;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class ReverseArray_Using_ArrayList {
public static void main(String[] args)
{
String[] arr = {"apple", "tree", "play"};
System.out.println("before: " + Arrays.toString(arr) );
List<String> listOfProducts = Arrays.asList(arr);
Collections.reverse(listOfProducts);
String[] reversed = listOfProducts.toArray(arr);
System.out.println("after: " + Arrays.toString(reversed) );
System.out.println("**************************************");
Integer[] arr2 = new Integer[] {1,2,3,4,5};
// List<Integer> list = Arrays.asList(arr2);
System.out.println(Arrays.toString(arr2));
List<Integer> li = Arrays.asList(arr2); //--array to List
Collections.reverse(li); // reverse List
Integer[] rev = li.toArray(arr2);
System.out.println(Arrays.toString(rev));
}
}