質問: new ArrayList>(); map.put("HOKKAIDO","札幌・\n味噌ラーメン"); map.put("AOMORI","青森・\n八戸汁"); map.put("IWATE","盛岡・\nわんこそば"); map.put("MIYAGI","仙台・\n牛タン"); map.put("AKITA","秋田・\nきりたんぽ"); map.put("YAMAGATA","山形・\nさくらんぼ"); map.put("FUKUSHIMA","福島・\n喜多方ラーメン"); map.put("IBARAKI","水戸・\n水戸納豆"); map.put("TOCHIGI","宇都宮・\n餃子"); map.put("GUNMA","前橋・\nこんにゃく"); map.put("SAITAMA","さいたま・\nさつまいも"); map.put("CHIBA","千葉・\n落花生"); map.put("TOKYO","新宿・\nもんじゃ焼き"); map.put("KANAGAWA","横浜・\n海軍カレー"); map.put("NIIGATA","新潟・\n笹団子"); map.put("TOYAMA","富山・\n白エビ"); map.put("ISHIKAWA","金沢・\nきんつば"); map.put("FUKUI","福井・\n水羊羹"); map.put("YAMANASHI","甲府・\nぶどう"); map.put("NAGANO","長野・\nりんご"); map.put("GIFU","GIFU・\n飛騨牛"); map.put("SHIZUOKA","SHIZUOKA・\nしらす"); map.put("AICHI","NAGOYA・\n味噌カツ"); returnMap.add(map); return returnMap; } } ``` ### 終わりに 文字列として配列の要素は持っています。 もし、これの他に簡単に作成できる場合それと併せてご教授願いたいです。 宜しくお願いいたします。
回答: MapインタフェースのreplaceメソッドはJavaのバージョン8から追加されたメソッドですが、replaceメソッドの実装そのものは、以下と同じです。 ``` if (map.containsKey(key)) { return map.put(key, value); } else return null; } ``` しかしこのメソッドは文字列を置換するのではなく、mapに対してもし指定したキーがあった場合はvalueの値に置き換えるものです。 さて今回行いたいことは文字列の置換ですから、Java5の言語仕様に沿うなら ``` System.out.println("【変換前】" + foodMap); for (HashMap recordObj : foodMap) { Iterator keys = recordObj.keySet().iterator(); while(keys.hasNext()) { String key = keys.next(); String value = (String)recordObj.get(key); String replaced = value.replace("\r", "☆").replace("\n", "☆").replace("☆", "\r\n"); recordObj.put(key, replaced); } } System.out.println("【返還後】" + foodMap); ``` で変換がされるかと思います。