import java.util.*; /** * Created by leon on 1/29/18. */ public class StringArrayUtils { /** * @param array array of String objects * @return first element of specified array */ // TODO public static String getFirstElement(String[] array) { return array[0]; } /** * @param array array of String objects * @return second element in specified array */ public static String getSecondElement(String[] array) { return array[1]; } /** * @param array array of String objects * @return last element in specified array */ // TODO public static String getLastElement(String[] array) { return array[array.length-1]; } /** * @param array array of String objects * @return second to last element in specified array */ // TODO public static String getSecondToLastElement(String[] array) { return array[array.length-2]; } /** * @param array array of String objects * @param value value to check array for * @return true if the array contains the specified `value` */ // TODO public static boolean contains(String[] array, String value) { boolean answer = false; for(String x : array){ if(x.equals(value)){ answer = true; } } return answer; } /** * @param array of String objects * @return an array with identical contents in reverse order */ // TODO public static String[] reverse(String[] array) { /* StringBuilder x = new StringBuilder(array.toString()); x.reverse(); String[] answer = new String[x.toString().split(" ").length](x.reverse().toString()); */ String[] x = new String[array.length]; int p = 0; for(int i = array.length-1; i >= 0; i--){ x[p] = array[i]; p++; } return x; } /** * @param array array of String objects * @return true if the order of the array is the same backwards and forwards */ // TODO public static boolean isPalindromic(String[] array) { int x = 0; int y = array.length - 1; boolean answer = true; if(array.length % 2 == 0){ while(x < y && answer == true){ if(array[x] == array[y]){ x++; y--; } else{ answer = false; } } } else{ while(x != y && answer == true){ if(array[x] == array[y]){ x++; y--; } else{ answer = false; } } } /* if(reverse(array) != array){ return false; } return true; */ return answer; } /** * @param array array of String objects * @return true if each letter in the alphabet has been used in the array */ // TODO public static boolean isPangramic(String[] array) { return false; } /** * @param array array of String objects * @param value value to check array for * @return number of occurrences the specified `value` has occurred */ // TODO public static int getNumberOfOccurrences(String[] array, String value) { int counter = 0; for(String x : array){ if(x == value){ counter++; } } return counter; } /** * @param array array of String objects * @param valueToRemove value to remove from array * @return array with identical contents excluding values of `value` */ // TODO public static String[] removeValue(String[] array, String valueToRemove) { ArrayList x = new ArrayList((Arrays.asList(array))); for(String h : x){ if(h == valueToRemove){ x.remove(x.indexOf(h)); } } String[] q = new String[x.size()]; q = x.toArray(q); return q; } /** * @param array array of chars * @return array of Strings with consecutive duplicates removes */ // TODO public static String[] removeConsecutiveDuplicates(String[] array) { ArrayList x = new ArrayList(); // String[] y = new String[]; for(int i = 0; i < array.length; i++){ if(array[i] == array[i + 1]){ x.add(array[i]); } } String[] y = new String[x.size()]; x.toArray(y); return y; } /** * @param array array of chars * @return array of Strings with each consecutive duplicate occurrence concatenated as a single string in an array of Strings */ // TODO public static String[] packConsecutiveDuplicates(String[] array) { return null; } }