Java HashMap和公共静态void main(字符串参数[])

Java HashMap和公共静态void main(字符串参数[]),java,hashmap,Java,Hashmap,我正在做一个项目,我必须使用HashMaps 我对java相当陌生,所以我认为必须在我想使用HashMaps的每个类中都包含它,还是应该在每个类中都包含它 public static void main(String args[]) 这是全班同学。我在没有主要方法的情况下尝试过,但我只是犯了错误 import java.util.HashMap; public class Product { public static void main(String args[]) {

我正在做一个项目,我必须使用HashMaps

我对java相当陌生,所以我认为必须在我想使用HashMaps的每个类中都包含它,还是应该在每个类中都包含它

public static void main(String args[])
这是全班同学。我在没有主要方法的情况下尝试过,但我只是犯了错误

import java.util.HashMap;

public class Product
{
     public static void main(String args[]) {

     HashMap<String, int> product = new HashMap<String, int>();

     product.put("product1", 1);
     product.put("product2", 2);
   }

}

您只需要在程序的驱动程序中输入main,而不是在每个类中输入main。在编写了需要HashMaps的代码/类之后,您可以将它们放入其中

public static void main(String args[])
此外,由于您提到HashMaps不起作用,您是否已将它们导入到其他类中,在这些类中您正试图这样使用它们

import java.util.HashMap

简短回答:不是。一个
main
方法是整个程序的主要起点。它与程序中可以使用哪些类无关

如果要使用哈希映射

  • 包括包含HashMap类的包
  • 声明HashMap类型的变量
    • 作为类的实例字段或作为方法/函数中的局部变量
  • 使用您声明的变量

  • 这并不是说代码必须在main方法中,而是必须在某个方法或初始值设定项块中。如果您将代码放在非main方法中,它仍然可以正常工作。

    如果您正在寻找在声明时声明HashMap的方法,并且不希望初始化在方法或块中,则可以使用以下方法:

    HashMap<String, int> product = new HashMap<String, int>(){{
        put("product1", 1);
        put("product2", 2);
    }};
    
    HashMap product=newhashmap(){{
    put(“product1”,1);
    put(“product2”,2);
    }};
    
    你为什么这么认为?不,为什么到处都需要一个main方法?当hashmap不在main方法中时,它似乎不起作用@路易斯瓦瑟曼听起来好像有一个与此完全无关的bug。请提供“似乎不起作用”的代码,并解释“似乎不起作用”在这里的实际含义。遗憾的是,确切的错误消息是一个秘密。否则,我们可能会帮助你。。。
    HashMap<String, int> product = new HashMap<String, int>(){{
        put("product1", 1);
        put("product2", 2);
    }};