// number 1 /** * Check for language accept * * @param unacceptedLanguagesList list with unaccepted languages * @param language language for checking * @return is language accepted */ private boolean isLanguageAccepted(List unacceptedLanguagesList, String language) { if ( unacceptedLanguagesList == null || StringUtils.isBlank(language) ) { return false; } for ( String locale : unacceptedLanguagesList ) { if ( language.equalsIgnoreCase(locale) ) { return false; } } return true; } // number 2 /** * Check for language accept * * @param unacceptedLanguagesList list with unaccepted languages * @param language language for checking * @return is language accepted */ private boolean isLanguageAccepted(List unacceptedLanguagesList, String language) { boolean result = false; if ( unacceptedLanguagesList != null && StringUtils.isNotBlank(language) ) { result = true; for ( String locale : unacceptedLanguagesList ) { if ( language.equalsIgnoreCase(locale) ) { result = false; break; } } } return result; } //number 3 private static boolean isLanguageAccepted(List unacceptedLanguagesList, String language) { boolean result = false; if (unacceptedLanguagesList != null && StringUtils.isNotBlank(language)) { ListIterator listIterator = unacceptedLanguagesList.listIterator(); result = true; while (listIterator.hasNext() && result) { if (language.equalsIgnoreCase(listIterator.next())) { result = false; } } } return result; } // project for check import org.apache.commons.lang3.StringUtils; import java.util.*; /** * Created by pglukhov on 21.07.2017. */ public class SplitExample { private static final List languageList = new ArrayList<>(); static { languageList.add("fr"); languageList.add("en"); languageList.add("ru"); languageList.add("de"); } private static List extractLanguages(String languages) { if (StringUtils.isBlank(languages)) { return Collections.emptyList(); } final String[] splittedStrings = languages.split(","); final List languagesList = new ArrayList<>(); for (String item : splittedStrings) { languagesList.add(item.trim()); } return languagesList; } private static boolean isLanguageAccepted(List unacceptedLanguagesList, String language) { boolean result = false; if (unacceptedLanguagesList != null && StringUtils.isNotBlank(language)) { ListIterator listIterator = unacceptedLanguagesList.listIterator(); result = true; while (listIterator.hasNext() && result) { if (language.equalsIgnoreCase(listIterator.next())) { result = false; } } } return result; } public static void main(String[] args) { String langList1 = "fr"; List exceptedLanguageList = extractLanguages(langList1); List filteredList = new ArrayList(); for (String item : languageList) { if (isLanguageAccepted(exceptedLanguageList, item)) { filteredList.add(item); } } System.out.println("Filtered List"); for (String item : filteredList) { System.out.println(item); } } }