Java 如何从其他类方法访问ConcurrentHashMap元素 公共类城市列表{ 公共静态void main(字符串[]args){ ConcurrentHashMap hm=新的ConcurrentHashMap(); hm.put(10,“AAAA”); hm.put(11.“BBBB”); } } //另一类 公共类Getcity扩展了CityList{ 公共静态void main(字符串[]args){ 公共娱乐城(国际一) { 系统输出println(hm.get(i); }

Java 如何从其他类方法访问ConcurrentHashMap元素 公共类城市列表{ 公共静态void main(字符串[]args){ ConcurrentHashMap hm=新的ConcurrentHashMap(); hm.put(10,“AAAA”); hm.put(11.“BBBB”); } } //另一类 公共类Getcity扩展了CityList{ 公共静态void main(字符串[]args){ 公共娱乐城(国际一) { 系统输出println(hm.get(i); },java,concurrenthashmap,Java,Concurrenthashmap,我已经创建了一个类,并在该类中实现了ConcurrentHashMap。现在我想使用其他类中的另一个方法访问该映射的特定元素。请帮助我。如果我将I值传递为10,它应该显示AAAA。请告诉我如何执行此操作。您应该创建其他属性具有ConcurrentHashMap成员的类,并将您在CityList类中创建的ConcurrentHashMap注入到这些类中-作为构造函数参数或调用setter方法。 另一种选择是在你的CityList类中有一个getter方法,并让其他类访问该getter。你离你所想的

我已经创建了一个类,并在该类中实现了
ConcurrentHashMap
。现在我想使用其他类中的另一个方法访问该映射的特定元素。请帮助我。如果我将I值传递为
10
,它应该显示
AAAA
。请告诉我如何执行此操作。

您应该创建其他属性具有
ConcurrentHashMap
成员的类,并将您在
CityList
类中创建的
ConcurrentHashMap
注入到这些类中-作为构造函数参数或调用setter方法。
另一种选择是在你的
CityList
类中有一个getter方法,并让其他类访问该getter。

你离你所想的地方还有很长的路要走

您正在main()方法中声明并使用映射。局部变量对于“其他类”是不可访问的,尽管它们可能会传递给其他类的方法/构造函数(并且最终的局部变量对于匿名类是可访问的)

这一切对你意味着什么

  • 使地图成为城市列表的私有字段
  • 为映射提供一个getter
  • 让另一个类中的代码创建CityList的实例,并通过其getter访问地图以填充它
  • 还有其他代码在某个地方从主目录测试它
 public class CityList{
   public static void main(String[] args){
   ConcurrentHashMap<Integer,String> hm=new ConcurrentHashMap<Integer,String>();
   hm.put(10,"AAAA");
        hm.put(11."BBBB");
        }
        }
        // another class
        public class Getcity extends CityList{
        public static void main(String[] args){
        public void showcity(int i)
        {
        system.out.println(hm.get(i);
        }