JavaでList型からMap型へ変換するサンプルソースです。
サンプルではListはArrayList、MapはHashMapを想定しています。
Javaソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
/** * <p>[概 要] List⇒Mapへの変換</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @param list 変換対象リスト * @return 変換後Map */ public static Map<Integer, Object> parseListToMap(List<SampleBean> list) { Map<Integer, Object> result = new HashMap<Integer, Object>(); if(list != null && list.size() > 0) { for(SampleBean bean : list) { result.put(bean.getNo(), bean.getData()); } } return result; } |
JUnitサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
@Test public void parseListToMapTest() { // 準備 SampleBean bean1 = new SampleBean(); bean1.setNo(1); bean1.setData("B001"); SampleBean bean2 = new SampleBean(); bean2.setNo(2); bean2.setData("C001"); SampleBean bean3 = new SampleBean(); bean3.setNo(3); bean3.setData("A001"); List<SampleBean> paramList = new ArrayList<SampleBean>(); paramList.add(bean1); paramList.add(bean2); paramList.add(bean3); List<SampleBean> paramList2 = new ArrayList<SampleBean>(); // 実行 Map<Integer, Object> result1 = UtilSample1.parseListToMap(paramList); Map<Integer, Object> result2 = UtilSample1.parseListToMap(paramList2); Map<Integer, Object> result3 = UtilSample1.parseListToMap(null); // 検証 assertEquals("bean1のデータが一致していません。", bean1.getData(), result1.get(bean1.getNo())); assertEquals("bean2のデータが一致していません。", bean2.getData(), result1.get(bean2.getNo())); assertEquals("bean3のデータが一致していません。", bean3.getData(), result1.get(bean3.getNo())); assertEquals("result2のデータ数が一致していません。", 0, result2.size()); assertEquals("result3のデータ数が一致していません。", 0, result3.size()); } |