package com.interview.utils; import java.util.Arrays; import java.util.Collections; import java.util.List; /** * Created by chenting on 2014/6/27. */ public class ArrayUtil { public static Integer[] sort(Integer[] numbers){ List<Integer> input = Arrays.asList(numbers); Collections.sort(input); Integer[] sorted = input.toArray(new Integer[input.size()]); return sorted; } public static Character[] getCharArray(String str){ Character[] chars = new Character[str.length()]; for(int i = 0; i < str.length(); i++) chars[i] = str.charAt(i); return chars; } public static String getString(Character[] chars){ char[] str = new char[chars.length]; for(int i = 0; i < chars.length; i++) str[i] = chars[i]; return String.copyValueOf(str); } public static void swap(int[] array, int i, int j){ int tmp = array[i]; array[i] = array[j]; array[j] = tmp; } public static void insert(int[] array, int i, int j){ int tmp = array[j]; int k = j-1; while(k >= i && array[k] > tmp){ array[k+1] = array[k]; k--; } array[k+1] = tmp; } public static void insertBefore(int[] array, int i, int j){ int tmp = array[j]; for(int k = j; k > i; k--){ array[k] = array[k-1]; } array[i] = tmp; } public static void swap(char[] array, int i, int j){ char tmp = array[i]; array[i] = array[j]; array[j] = tmp; } public static String swap(String str, int i, int j){ char[] chars = str.toCharArray(); swap(chars, i, j); return String.copyValueOf(chars); } public static void swap(Integer[][] matrix, int x1, int y1, int x2, int y2){ int temp = matrix[x1][y1]; matrix[x1][y1] = matrix[x2][y2]; matrix[x2][y2] = temp; } public static void swap(Object[] array, int i, int j){ Object tmp = array[i]; array[i] = array[j]; array[j] = tmp; } public static void reverse(int[] array, int s, int e){ while(s < e){ swap(array, s++, e--); } } public static void reverse(Object[] array, int s, int e) { while (s < e) { swap(array, s++, e--); } } public static int sum(int[] array, int s, int e){ int sum = 0; for(int i = s; i <= e; i++){ sum += array[i]; } return sum; } public static int max(int[] array){ int max = Integer.MIN_VALUE; for(int i = 0; i < array.length; i++) max = Math.max(max, array[i]); return max; } }