当前位置: 首页 > 知识库问答 >
问题:

如何将我的HashMap键从浮点数转换为java中的整数?

栾和玉
2023-03-14
import java.util.Map;
import java.util.HashMap;

public class q9 {
public static void main(String[] args) {
    Map<Float, String> map1 = new HashMap<>();
    Map<Integer, String>map2= new HashMap<>();

我想转换我所有的map1键从浮动到整数。

    map1.put(11.1f, "black");
    map1.put(12.1f, "brown");
    map1.put(13.1f, "Grey");
    map1.put(14.1f, "blue");

在这里,我想将map1 HashMap存储到map2 HashMap,但map2有一个整数类型的键,map1有一个浮点类型的键,因此我想将我的map1键转换为整数。所以我可以轻松地将这些密钥存储到map2中

map2.putAll(map1);



  }

}

共有2个答案

孙琨
2023-03-14

迭代条目并转换键值。

java prettyprint-override">for (Map.Entry<Float, String> entry : map1.entrySet()) {
    map2.put((int)(float)entry.getKey(), entry.getValue());
}

我们需要双重强制转换来触发浮动自动拆箱和int自动拆箱。

另一种选择是,它直接手动解压到int,并让编译器自动解压。

for (Map.Entry<Float, String> entry : map1.entrySet()) {
    map2.put(entry.getKey().intValue(), entry.getValue());
}

警告:如果两个或多个float值转换为相同的int值,则哪个条目获胜是任意的。这就是HashMap排序的本质。

饶承宣
2023-03-14

在将键更改为整数后,您可以迭代map1,并将每个条目插入map2

for(Map.Entry<Float, String> entry : map1.entrySet()) 
  map2.put(entry.getKey().intValue(), entry.getValue()); 

 类似资料:
  • 问题内容: 将我的列从整数转换为浮点数。事实证明那只是浮动的。有什么方法可以将移位列保持为整数? 问题答案: 从pandas版本开始的另一个解决方案:只需为参数提供一个值:

  • 问题内容: 我想将浮点数转换为JavaScript中的整数。实际上,我想知道如何同时进行标准转换:截断和舍入。而且有效,而不是通过转换为字符串和解析。 问题答案: 例子 Positive Negative Positive - Larger numbers Negative - Larger numbers

  • 问题内容: 这是我正在查看的内容: 因此,我知道不能完全用二进制表示“ p” 1.15的十进制值。 因此,大的十进制大“ bdp”输出对我来说非常有意义……这是浮点数的实际值。 问题1 当浮点数“ p”转换回字符串以进行输出(如1.15)时,如何四舍五入(从内部1.149..375到1.15)? 在文档中的什么地方指定?toString javadoc并没有真正帮助(至少对我来说)。 我在语言规范

  • 我看到的是: 所以我知道“p”1.15的十进制值不能用二进制来精确表示。 所以大的十进制“bdp”输出对我来说非常有意义……这是浮点数的实际值。 问题 1 当浮点数“p”转换回字符串以进行输出(如 1.15)时,该舍入如何/在何处发生(从内部 1.149..375 值转换为 1.15)? 它在文档中的哪个位置指定?托斯特林爪哇并没有真正的帮助(至少我)。 我确实在语言规范中看到了这一点: 浮点和双

  • 问题内容: 有点像这个问题,但是相反。 给定类似,或的字符串,将其转换为浮点数的最佳方法是什么?我正在考虑根据情况使用正则表达式,但是也许有人知道更好的方法或预先存在的解决方案。我希望可以使用,但是我认为第3种情况可以避免这种情况。 问题答案: 我稍微调整了詹姆斯的回答。 http://ideone.com/ItifKv

  • 我有一个HashMap和一个包含键/值的属性文件。属性文件以这种格式存储键/值“4,5=2”我构建了一个从文件加载属性的方法,它将这对“键/值”放入一个HashMap数组(字符串、整数)中。但我的问题是,我希望键的每个元素都存储为int形式,以便将它们用作另一个方法的参数。键存储为字符串。如有任何帮助,我们将不胜感激。谢谢你!