Mapのkeyとvalueを反転させるにはMapUtilsのinvertMapを使います Map<String,String> mapA = new HashMap<>(); mapA.put("keyA","valueA"); mapA.put("keyB","valueB"); mapA.put("keyC","valueC"); Map<String,String> invMap = MapUtils.invertMap(mapA); では要素の並びを反転させるにはどうしたらいいでしょうか まずJavaではLinkedHashMapを使うことで要素を追加した順番を担保できます というわけ…