已获取list,如歌给list[i]在添加值

已获取listA
[
{id=1, num=1, opname=西瓜},
{id=2, num=2, opname=香蕉},
{id=3, num=3, opname=苹果},
{id=4, num=4, opname=橘子}
]
需要遍历list,同时算每行的概率,1/10=10%
最终获取listB
[
{id=1, num=1, opname=西瓜,p=10%},
{id=2, num=2, opname=香蕉,p=20%},
{id=3, num=3, opname=苹果,p=30%},
{id=4, num=4, opname=橘子,p=40%}
]
如何把listA变成listB,listB最好不要是new ArrayList出来的

listA是从数据库中获取,现在需要对这个listA做些处理,增加1个概率,每种水果个数占总数的百分比

慕哥9229398
浏览 406回答 2
2回答

郎朗坤

public static void main(String[] args){ List<Map<String,String>> listA = new ArrayList<Map<String,String>>(); Map<String,String> map = new HashMap<String, String>(); map.put("id", "1"); map.put("num", "1"); map.put("opname", "西瓜"); listA.add(map); System.out.println(listA.toString()); for(Map<String,String> pa : listA){ pa.put("p", BigDecimal.valueOf(Long.parseLong(pa.get("num"))).divide(BigDecimal.valueOf(10)).multiply(BigDecimal.valueOf(100))+"%"); } System.out.println(listA.toString()); } out:[{id=1, num=1, opname=西瓜}][{id=1, num=1, p=10.0%, opname=西瓜}]

哔哔one

直接 listA[i].p = xxx循环操作完 log(listA)不知道你是不是要的这个结果
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java