import java.util.*;
import java.util.regex.*;
import java.util.stream.Collectors;

class Ideone {
	public static void main(String[] args) {
		Map<String, String> mappings = new HashMap<>();
		mappings.put("ck","k");
		mappings.put("dd","wr");
		mappings.put("f", "m");
		System.out.println(replace("odd flock", mappings)); // prints: owr mlok
	}
	private static String replace(String input, Map<String, String> mappings) {
		StringBuffer buf = new StringBuffer();
		Matcher m = Pattern.compile(toRegex(mappings.keySet())).matcher(input);
		while (m.find())
			m.appendReplacement(buf, Matcher.quoteReplacement(mappings.get(m.group())));
		return m.appendTail(buf).toString();
	}
	private static String toRegex(Collection<String> keys) {
		return keys.stream().map(Pattern::quote).collect(Collectors.joining("|"));
	}
}