// Short program showcasing more practice problems with // arrays. import java.util.*; public class ArrayPractice2 { public static void main(String[] args) { int[] arr = {-17, 5, -30, -12, 26, 10}; // quick initialization syntax int[] arr2 = {6, 12, 18}; // quick initialization syntax // reference semantics System.out.println("arr " + Arrays.toString(arr)); applyAbs(arr); System.out.println("abs " + Arrays.toString(arr)); System.out.println(); System.out.println("arr " + Arrays.toString(arr)); System.out.println("arr2 " + Arrays.toString(arr2)); int[] concatenated = concatenate(arr, arr2); System.out.println("concatenated " + Arrays.toString(concatenated)); arr[5] = 32; System.out.println("concatenated " + Arrays.toString(concatenated)); System.out.println("arr " + Arrays.toString(arr)); } // Applies absolute value to all elements in the given array // ex: {-17, 5, -30, -12, 26, 10} --> {17, 5, 30, 12, 26, 10} // int[] list: the list to apply the absolute value on public static void applyAbs(int[] list) { for (int i = 0; i < list.length; i++) { // do something with list[i] list[i] = Math.abs(list[i]); } } // Returns a new array representing the result of concatenating the given arr1 // and arr2 arrays (with values from arr1 to the left of the values from arr2) // 0, 1, 2, 3, 4, 5 0, 1, 2, 3, 4, 5 // ex: {17, 5, 30, 12, 26, 10}, {6, 12, 18} --> {17, 5, 30, 12, 26, 10, 6, 12, 18} // int[] list1: the first list whose values will be concatenated // int[] list2: the second list whose values will be concatenated public static int[] concatenate(int[] list1, int[] list2) { int[] result = new int[list1.length + list2.length]; // copy contents from list1 result for (int i = 0; i < list1.length; i++) { result[i] = list1[i]; } // copy contents from list2 result for (int i = 0; i < list2.length; i++) { result[i + list1.length] = list2[i]; } // return result return result; } }