import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
@SuppressWarnings("unchecked")
public class ArrayFunctions {
   public static void main(String[] args) {
      Object[] dest = { "A", "B", "C" };
 
      List list = new ArrayList(Arrays.asList(dest)); 
      push(list, "D", "E", "F", "G");
      dest = list.toArray();
      System.out.println(Arrays.toString(dest));
 
      list = new ArrayList(Arrays.asList(dest)); 
      unshift(list, "0", "1", "2", "3", "4");
      dest = list.toArray();
      System.out.println(Arrays.toString(dest));
 
      list = new ArrayList(Arrays.asList(dest));
      System.out.println("\nPopped: " + pop(list));
      dest = list.toArray();
      System.out.println(Arrays.toString(dest));
 
      list = new ArrayList(Arrays.asList(dest));
      System.out.println("\nShifted: " + shift(list));
      dest = list.toArray();
      System.out.println(Arrays.toString(dest));
   }
 
   public static int push(List list, Object... items) {
      list.addAll(Arrays.asList(items));
      return list.size();
   }
 
   public static int unshift(List list, Object... items) {
      Object[] currentItems = list.toArray();
      list.clear();
      list.addAll(Arrays.asList(items));
      list.addAll(Arrays.asList(currentItems));
      return list.size();
   }
 
   public static Object pop(List list) {
      if (list.isEmpty()) {
         return null;
      }
      return list.remove(list.size() - 1);
   }
 
   public static Object shift(List list) {
      if (list.isEmpty()) {
         return null;
      }
      return list.remove(0);
   }
}
 
Powered by GeSHi