当前位置: 首页 > 面试题库 >

从其他类访问HashMap

耿志义
2023-03-14
问题内容

我的班级有一个名为DataStorage的哈希图:

HashMap<String, Integer> people = new HashMap<String, Integer>();

people.put("bob", 2);
people.put("susan", 5);

如何在另一个类中访问此HashMap中的数据?


问题答案:

将HashMap创建为实例变量,并提供一种将其访问类API的方法:

public class DataStorage {
    private HashMap<String, Integer> people = new HashMap<String, Integer>();

    public HashMap<String, Integer> getPeopleMap() {
         return people;
    }
}

public class AnotherClass {
      DataStorage x = new DataStorage();

      private void someMethod() {
           HashMap<String, Integer> people = x.getPeopleMap();
           //work with your map here...
      }  
}


 类似资料:
  • 在Mainactive类中,我无法访问gamePanel变量或对象。在程序中稍后的其他类中,它运行良好。我遇到了以下错误: 类主要活动: 类游戏面板:

  • 由于某种原因,我有一个LinkedList类无法访问我的学生类方法。我不明白为什么会发生这种情况,因为我的linkedlist类是Student类型。我一直收到一个错误:找不到symbol symbol:method getName()位置:Student类型的变量数据,其中Student是一个类型变量:Student extends对象在类节点中声明。下面的方法来自我的链表类 getGpa是我的

  • 问题内容: 我最近拾起Java并遇到了问题。我有几个具有不同类的文件,但是我无法弄清楚如何访问文件中声明了其他类之外的其他类的对象。例如: 我不确定如何从其他文件和类本身有效访问其他类的这些对象?我知道我可以使对象静态化,然后通过它们所在的类将它们作为变量进行访问,但这似乎有点违反直觉?我来自面向对象较少的编程背景,因此我仍在尝试了解Java的编程风格。 问题答案: 您可能只想要这样的东西: 希望

  • 问题内容: 我想从另一个软件包访问主软件包,但这是不可能的,因为主文件不在目录中。我已经尝试将主文件放在目录中,但是当我尝试导入它时,出现此错误: 我想要这个的原因是因为我有一个tcp服务器和一个Web服务器一起工作。Web服务器可以通过主程序包获取tcp服务器,而tcp服务器可以通过主程序包获取web服务器。 我已经使它可以与Web服务器和tcpserver相互读取(中间没有主程序包),但是我想

  • 问题内容: 我希望我说的是我的话。我有这样的课: 和其他这样的类: 这是从其他类(在该示例代码中)访问和更改其值的正确方法吗,是否有更好或更合适的解决方案?请注意,这是具有方法的类。 问题答案: 从另一个类访问私有变量的正确方法是使用getter和setter方法。否则,您应该将该变量公开。 那是: 但是,直接返回私有数据是一种不好的做法- 允许外部代码修改您的私有状态。通常,您应该返回私有数据的

  • 问题内容: 我有以下课程 你好 嗨.java CustomMap.java 直到我从中删除访问说明符之前,这都可以正常工作 编译器大喊 类型speak.hi.CustomMap不 可见 现在,如果我没有修改的选项(第三方jar等),还有什么我可以使用的方法吗? 我知道的一个选项是转到,因为Hello已在程序包中,它可以访问程序包私有类。 还有其他方法吗?也许使用反射? 编辑 :按@StephenC