小编San*_*ndy的帖子

如何迭代和删除Map <String,Map <String,Set <String >>>中的键

我有这样的地图,

Map<String, Map<String, Set<String>>> sampleMap = new Map<String, Map<String, Set<String>>>();
Run Code Online (Sandbox Code Playgroud)

这个地图中的数据就是这样的,

sampleMap={2014={A=[1, 2], B=[3], 2015={A=[1,2], B=[1,2], 2016={A=[1,2], B=[3,4]}};
Run Code Online (Sandbox Code Playgroud)

我想根据这个输入从地图中删除密钥:List<String> filter;这样的值,

filterArray : [2014, 2015]
Run Code Online (Sandbox Code Playgroud)

即,首先逐个遍历arraylist值,验证arraylist值是否与Hashmap中的任何键匹配.

  • 如果匹配密钥则忽略它.
  • 如果密钥不匹配,我只想从地图中删除该密钥.

即,我总是希望只保留地图中匹配的键,与传递的输入值进行比较.

在这种情况下,因为我有这样的arraylist值,[2014,2015],

2014,2015键只能在我的地图中.所以,

删除前的数据:

sampleMap={2014={A=[1, 2], B=[3], 2015={A=[1,2], B=[1,2], 2016={A=[1,2], B=[3,4]}};
Run Code Online (Sandbox Code Playgroud)

移动后的数据:

sampleMap={2014={A=[1, 2], B=[3], 2015={A=[1,2], B=[1,2]}};
Run Code Online (Sandbox Code Playgroud)

我试过这种方式,但我只是想知道这是正确的approch,还是容易出现任何异常?

Iterator<Map.Entry<String , Map<String, Set<String>>>> iter = sampleMap.entrySet().iterator();
while (iter.hasNext()) {
    Map.Entry<String , Map<String, Set<String>>> entry = iter.next();
    logger.info("Keys : " + entry.getKey());
    if (filterArray.equalsIgnoreCase(entry.getKey())) {
        iter.remove();
    }
}
Run Code Online (Sandbox Code Playgroud)

java collections iterator hashmap set

-1
推荐指数
1
解决办法
191
查看次数

只有一个十进制的Java双值

可能重复:
如何在Java中将数字舍入到n个小数位

我有像"1234.9678"这样的Double值.我想只返回一个小数,没有舍入或上限.

我用这种方式,但它返回"1234.96"

public double roundTwoDecimals(double d) {

DecimalFormat twoDForm = new DecimalFormat("#.##");

return Double.valueOf(twoDForm.format(d)); }
Run Code Online (Sandbox Code Playgroud)

我只想要"1234.9",

我甚至用这种方式......但没有运气......任何人都可以帮忙吗?

double d = 1234.9678;
int decimalPlace = 1;
BigDecimal bd = new BigDecimal( Double.toString(d) );
bd = bd.setScale( decimalPlace, BigDecimal.ROUND_HALF_UP );
System.out.println( bd.doubleValue() );
Run Code Online (Sandbox Code Playgroud)

java decimal bigdecimal

-6
推荐指数
1
解决办法
4991
查看次数

标签 统计

java ×2

bigdecimal ×1

collections ×1

decimal ×1

hashmap ×1

iterator ×1

set ×1