Избегайте комментариев '//', полагайтесь на читаемый код и javado. c
После java7
ArrayList<String> shoppingList = new ArrayList<String>();
становится
ArrayList<String> shoppingList = new ArrayList<>();
инициализаций, таких как shoppingList
должно быть помещено в конструктор
itemValue
должно быть закрытым окончательным
itemIndex
может быть преобразовано в локальную переменную в getIndex
getIndex
имя предполагает, что он вернет индекс, но его пустота, лучше вернуть индекс и позволить пользователю метода решить, что с ним делать.