Recentemente, ho partecipato a un'intervista. Mi hanno chiesto di scrivere un programma per stampare alfabeti unici e caratteri comuni da due stringhe. Ho scritto il codice qui sotto per stampare i caratteri comuni:Come stampare un alfabeto unico da due stringhe usando Java?
String s1 = "I am living in india";
String s2 = "india is a beautiful country";
char[] s1Array = s1.toCharArray();
char[] s2Array = s2.toCharArray();
LinkedHashSet<Character> s1CharSet = new LinkedHashSet<Character>();
LinkedHashSet<Character> s2CharSet = new LinkedHashSet<Character>();
for(char kc : s1Array){
s1CharSet.add(kc);
}
for(char c: s2Array){
s2CharSet.add(c);
}
s1CharSet.retainAll(s2CharSet);
if(s1CharSet.size()==0){
System.out.println("There are no common characters between the two strings");
}
else{
System.out.println(s1CharSet);
}
}
ma hanno detto come non sono soddisfatto della mia risposta. Immagino sia perché non si aspettano lo retainAll
. Quindi, per favore dimmi il modo giusto di programmare per soddisfarli in futuro.
Persino su Google ma non ho trovato collegamenti validi e comprensibili.
Quindi, come stampare caratteri univoci e comuni da due stringhe senza utilizzare retainAll
?
Qualsiasi codice sarebbe apprezzato.
Puoi essere un po 'più specifico di "non sono soddisfatto della mia risposta"? Qual è il problema con il tuo codice? – Mureinik
"dimmi il modo giusto di programma per soddisfarli in futuro." Hai scritto un programma che funziona. Se * loro * non sono soddisfatti della tua risposta, devi chiedere * loro * cosa volevano vedere. – dasblinkenlight
Perché non hai usato una semplice ArrayList e controlli con 'contains'? –