如何使用地图进行除法或乘法而不使用键和值。
在下面的示例中,我将Developer作为地图对象,并希望乘以10并将其分配给另一个地图。
private Map<String, Double> Developer;
具有开发人员的setter,getter方法
Map<String, Double> EmployeeVal = company.getDep().getProject().get(0).getDeveloper()*100;
如果我将EmployeeVal声明为Double的工作正常,但我不想这样做,我想将EmployeeVal声明为Map。
答案 0 :(得分:1)
您的问题始于错误的命名约定。
您的Developer对象不是&#34;开发人员&#34;,而是带有键为String的双打集合(我想是名字?)。
除了使用大写字母开始变量更好(和标准)之外,您的Developer变量应该像developersMap一样命名。
然后: 您是否希望将所有开发人员的所有值乘以10?
如果是,请循环遍历所有这些并乘以以下值:
示例1:
for (String devKey: developersMap.keySet()){
developersMap.put(devKey,developersMap.get(devKey) * 10.0D);
}
示例2:
for (Entry<String, Double> devEntry: developersMap.entrySet()){
devEntry.setValue(devEntry.getValue() *10.0D);
}
但是,如果您只想为一个开发人员增加值,则必须通过密钥从Map获取其值,然后将其相乘并将其放回Map中。
例如,你有两个开发人员&#34; John&#34;和&#34;简&#34;。你想为谁增加价值?
&#34;约翰&#34;:
developersMap.put("John",developersMap.get("John") * 10.0D);