import java.lang.String; /** * Created by leon on 1/29/18. */ import java.util.*; import java.io.*; import java.util.Arrays; import java.util.Scanner; import java.util.List; import java.util.ArrayList; public class StringArrayUtils { /** * @param array array of String objects * @return first element of specified array */ // TODO public static String getFirstElement(String[] array) { String first = array[0]; return first; } /** * @param array array of String objects * @return second element in specified array */ public static String getSecondElement(String[] array) { String second = array[1]; return second; } /** * @param array array of String objects * @return last element in specified array */ // TODO public static String getLastElement(String[] array) { String last = array[array.length-1]; return last; } /** * @param array array of String objects * @return second to last element in specified array */ // TODO public static String getSecondToLastElement(String[] array) { String secondLast = array[array.length-2]; return secondLast; } /** * @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) { for(int i =0; i< array.length;i++) { if(array[i].equals(value)) {return true;} } return false; } /** @param array of String objects * @return an array with identical contents in reverse order */ // TODO public static String[] reverse(String[] array) { String[] temp = new String[array.length]; int j =0; for(int i =array.length-1;i >= 0;i--) { temp[j] = array[i]; j++; } return temp; } /** * @param array array of String objects * @return true if the order of the array is the same backwards and forwards */ public static boolean isPalindromic(String[] array) { String[] reverseArr = new String[array.length]; reverseArr = reverse(array); for (int i=0;i < reverseArr.length;i++){ if(!array[i].equalsIgnoreCase(reverseArr[i])) { return false; } } return true; } /** * @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) { String alph = "abcdefghijklmnopqrstuvwxyz"; StringBuilder build = new StringBuilder(); int count =0; for(int i =0;i < array.length;i++) { build.append(array[i]); } String newStr = build.toString(); for(int j =0; j < alph.length();j++) { int index = newStr.indexOf(alph.charAt(j)); if( index == -1) { break; } count = 1; } if(count ==1) return true; else 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 count = 0; for(int i=0;i < array.length;i++) { if(array[i].equalsIgnoreCase(value)) { count++; } } return count; } /** * @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 arrList = new ArrayList(); int j =0; int count =0; for(int i =0;i < array.length;i++) { if(!(array[i]).equals(valueToRemove)) { arrList.add(array[i]); } } String[] arrayNew = arrList.toArray(new String[0]); return arrayNew; } /** * @param array array of chars * @return array of Strings with consecutive duplicates removes */ // TODO*/ public static String[] removeConsecutiveDuplicates(String[] array) { int k = 0; ArrayList resultList = new ArrayList(); //resultList.add(array[0]); for(int i =0;i < array.length;i++) { if(!array[i].equals(array[i+1])) { resultList.add(array[i]); } } String[] newArray = resultList.toArray(new String[0]); return newArray; } /** * @param array array of chars * @return array of Strings with each consecutive duplicate occurrence concatenated as a single string in an array of Strings */ public static String[] packConsecutiveDuplicates(String[] array) { ArrayList list = new ArrayList(); //list.add(array[0]); //int k =0; StringBuilder build = new StringBuilder(); for(int i =0;i