import java.util.Arrays; /** * 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 containsString = false; for (String element : array) if(element.equals(value)){ containsString = true; break; } return containsString; } /** * @param array of String objects * @return an array with identical contents in reverse order */ // TODO public static String[] reverse(String[] array) { String[] reverseString = new String[array.length]; for(int i = 0; i < array.length; i++){ reverseString [array.length-1-i] = array[i]; } return reverseString; } /** * @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) { String[] reverseString = reverse(array); boolean isTrue = false; if(Arrays.equals(reverseString, array)){ return true; } return isTrue; } /** * @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){ char [] alphabet = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; boolean containsEveryLetter = true; for(char letter:alphabet){ if(arrayContainsLetter(array,letter)==false){ containsEveryLetter = false; break; } } return containsEveryLetter; } public static boolean arrayContainsLetter(String[] array, char letter){ boolean containsLetter = false; for(String string : array){ if(stringContainsLetter(string.toLowerCase(),letter)){ containsLetter = true; break; } } return containsLetter; } public static boolean stringContainsLetter(String string, char letter){ boolean containsLetter = false; for(int i = 0; i < string.length(); i++){ if (string.charAt(i)==letter){ containsLetter = true; break; } } return containsLetter; } /** * @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 element : array){ if(element.equals(value)){ counter += 1; } } 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) { int lengthOfNewArray = array.length-getNumberOfOccurrences(array,valueToRemove); String[] newArray = new String[lengthOfNewArray]; int index = 0; for(String element : array){ if(element != valueToRemove){ newArray[index] = element; index += 1; } } return newArray; } /** * @param array array of chars * @return array of Strings with consecutive duplicates removes */ // TODO public static String[] removeConsecutiveDuplicates(String[] array) { String[] sortedArray = array.sort(); for(int i = 1; i < sortedArray.length; i++){ if(sortedArray[i]!=sortedArray[i-1]){ add to array list } } } return null; } /** * @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; } }