En realidad, tengo un problema al comparar cadenas en Java. El problema es que tengo una lista de tipos de Arraylist que contiene alguna designación de empleado, pero la designación puede ser desarrollador o desarrollador Junior o puede ser una designación de tipo de desarrollador Sinior, mi problema es que considera toda la designación de desarrollador como un único desarrollador, así que uso este código para esto.
ArrayList<String> al_designation = ret.getDesignationListFromRegistration(); int ii = 0; for (String designation : al_designation) { ii++; for (int j = ii; j < al_designation.size(); j++) { if (designation.toLowerCase().contains(al_designation.get(j).toLowerCase())) { al_designation.remove(j); } } }Lo que quiero es que todas las designaciones de tipo AYUDANTE consideren solo AYUDANTE, lo mismo para STITCHER todo tipo STITCHER.
Agregue los elementos requeridos de su ArrayList a un HashMap de la siguiente manera:
ArrayList<String> al_designation = new ArrayList<>(Arrays.asList("Developer", "Junior Developer", "Senior Developer", "Senior Architect", "Junior Manager", "Senior Manager", "Assistant Manager", // "CEO", "Tech Lead", "Dev Lead")); System.out.println(al_designation);// Before it contains all // designations. Map<String, String> map = new LinkedHashMap<>(); for (String designation : al_designation) { designation = designation.toLowerCase(); String[] words = designation.split(" "); String lastWord = words[words.length - 1]; String value = map.get(lastWord); if (value == null) map.put(lastWord, designation); else map.put(lastWord, lastWord); } al_designation.clear(); al_designation.addAll(map.values()); System.out.println(al_designation);// Now it contains only required designations. //This is your answer.No sé qué está tratando de lograr, sin embargo, puede verificar si su cadena, por ejemplo, "desarrollador junior" contiene una subcadena "desarrollador" como esta:
if (str1.toLowerCase().contains(str2.toLowerCase())){ // do whatever you need to do }