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); } }