HashMap:它在TextView中显示最小值,但min_variable具有更多值

时间:2017-03-02 20:33:32

标签: java android hashmap

当有适当的最小整数值时,我试图做一些指示。例如:当变量" round_min" = 10 - >有一些指示。什么时候" round_min" = 100 - >还有另一条指令。

我尝试实现在HashMap中找到最小值的函数。 例如:我在HashMap中有两个元素。并且找到了最小值,并且它在TextView中正确显示。

但是当我想使用这个变量" round_min"到另一个函数,在hashmap中显示所有值。我希望始终保持最低限度。

下面我提出代码:

int round_min;

// nearestDistances is a hashmap where I put distances
Map.Entry<String, Float> nearestMarker = null;

for (Map.Entry<String, Float> entry : nearestDistances.entrySet()) {    
    if (nearestMarker == null || nearestMarker.getValue() > entry.getValue()) {
        nearestMarker = entry;
        round_min = Math.round(nearestMarker.getValue());
        Log.e(" MIN ", round_min + "");

        // it displays in log.e all values 

        // this function see all values, not only minimum
        DisplayMinimumValue(getApplicationContext(), round_min); 
        Log.e("    ROUND MIN    ", round_min + "");

        tvDistanceToNearest.setText(String.valueOf(round_min)); // there is displaying only minimum value
    }
}

有人可以帮我找到问题以及如何找出问题吗?

2 个答案:

答案 0 :(得分:1)

由于我还不能发表评论......我不确定你的问题是什么。如果您在地图中遇到较小的值,我会看到您正在更新round_min变量。我还看到你有一些在迭代中使用该变量的方法。该计划的哪一部分并不像你想要的那样?

答案 1 :(得分:1)

移动所有行

// this function see all values, not only minimum
    DisplayMinimumValue(getApplicationContext(), round_min); 
    Log.e("    ROUND MIN    ", round_min + "");

    tvDistanceToNearest.setText(String.valueOf(round_min)); // there is   displaying only minimum value

最后,在第二个之后},以便你在循环之外