I am using a HashMap to store the full forms for abbreviations.
public class Test {
public static void main(String[] args) {
Map<String, String> slangs = new HashMap<String, String>();
slangs.put("lol", "laugh out loud");
slangs.put("r", " are ");
slangs.put("n", " and ");
slangs.put("idk", " I don't know ");
slangs.put("u", " you ");
Set set = slangs.entrySet();
Iterator i = set.iterator();
String sentence = "lol how are you";
StringBuilder sb = new StringBuilder();
for (String word : sentence.split(" ")) {
while(i.hasNext()) {
Map.Entry<String, String> me = (Map.Entry)i.next();
if (word.equalsIgnoreCase(me.getKey())) {
sb.append(me.getValue());
continue;
}
sb.append(word);
}
}
System.out.println(sb.toString());
}
}
The Output is:
lollollollaugh out loudlol
What is wrong here and how do I solve it?