您的位置:首页 > 其它

For循环,这里的listMap必须在for循环之前new一下(循环外面new ArrayList对象),不然每次循环加入到list中,下次循环就把上次的数据清空了,最后存到list中是最后一条数据。

2015-12-24 20:05 411 查看
PositionLog p1 = new PositionLog();

p1.setNonBalPosition(new BigDecimal(1.1));

p1.setBalPosition(new BigDecimal(1));

p1.setBankId("9901");

p1.setProductId("Cbot/CNY_11");

p1.setInstrumentId("MARGIN_COM");

PositionLog p2 = new PositionLog();

p2.setNonBalPosition(new BigDecimal(2.2));

p2.setBalPosition(new BigDecimal(2));

p2.setBankId("9901");

p2.setProductId("Cbot/CNY_12");

p2.setInstrumentId("MARGIN_COM");

List<PositionLog> positionLogList =new ArrayList<PositionLog>();
positionLogList .add(p1);

positionLogList .add(p2);

List<Map<String,String>> listMap = null;
for(PositionLog positionLog: positionLogList){
listMap = new ArrayList<Map<String,String>>(); //这里的listMap必须要放到循环外层new一下ArrayList,不然每次循环加入到list中,下次循环new对象就把上次加入的数据 给清空了的,最后存到list中的是最后一条数据。
Map<String,String> positionMap = new HashMap<String,String>();
positionMap.put("nonBalPosition", positionLog.getNonBalPosition());
positionMap.put("balPosition", positionLog.getBalPosition());
positionMap.put("productId", positionLog.getProductId());
positionMap.put("bankId", positionLog.getBankId());
positionMap.put("instrumentId", positionLog.getInstrumentId());
listMap.add(positionMap);
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: