java 迴圈中使用list時,出現list中全部加入了物件導致沒有實現分組的解決方案
阿新 • • 發佈:2018-11-23
清空list即可
public List fetchNmapSingleTaskWithDataList() { Map map = new HashMap<>(); List listNst = new ArrayList(); List listNsp = new ArrayList(); List<NmapSingleTaskWithBLOBs> nmapSingleTaskWithBLOBs = nmapSingleTaskMapper.selectByExampleWithBLOBs(null); List<NmapSingleipPortresultWithBLOBs> nmapSingleipPortresultWithBLOBs = this.getAll(); for (NmapSingleTask nst : nmapSingleTaskWithBLOBs) { map.put("NmapSingleTask", nst); for (NmapSingleipPortresult nsp : nmapSingleipPortresultWithBLOBs) {if (nst.getId().equals(nsp.getSingletaskid())) { listNsp.add(nsp); } } map.put("NmapSingleipPortresults", listNsp); listNst.add(map); // 清空map map = new HashMap(); // 清空list 如果不清空,listNsp會再次加入nsp,導致全部加進來了listNsp = new ArrayList(); } return listNst; }