java - 对象如何从 HashMap 中获取其键?

标签 java hashmap key containment

假设我有一个用 HashMap 定义的棋盘

HashMap <Position,Field> chessboard = new HashMap <Position,Field>();

我将位置声明为

class Position{
  int x;
  int y;
}

当我尝试为 Field 对象创建一个类时,遇到一个问题:Field 应该包含一个 Position 因为它已定义通过它。例如。

class Field {
  Position pos;
  int color;
  void draw(){
    // draw Field using pos
  }
}

但是 Position 对象将用于 HashMap。 我怎样才能避免这种冗余?

最佳答案

成本实际上并不像您想象的那样:您只保留对内存中同一 Position 对象的单个引用(在大多数系统上为四个字节)。开销很小;甚至不用担心。

关于java - 对象如何从 HashMap 中获取其键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24002382/

相关文章:

Python - 基于键/值标识的分组/合并字典

java - 如何将字节数组转换为 key 格式?

javascript - 从 JSON 中获取 KEY

java - OneToManyToMany 连续三个带有 Hibernate Annotations 的表

java - 在Java中使用byte[]数组将.gz文件分割成指定的文件大小

java - 有没有办法通过POM.xml修改classpath?

java - 为 HashMap 创建自定义迭代器

java - Mockito 中的类型安全问题 - 模拟集合

java - 如何打印与特定值关联的所有键?

android - 如何使用保存的首选项android存储和检索(键,值)类型的数据