如何将静态值赋给HashMap?

我有HashMap像:

static HashMap<String,ArrayList> mediaListWithCategory=new HashMap<String,ArrayList>(); 

我有价值:

 January: -Sunday -Monday Februsry: -Saturday -Sunday -Thursday March: -Monday -Tuesday -Wednesday 

在定义哈希映射时,如何静态分配这些值?

您可以在静态块中填充它:

 static { map.put("January", Arrays.asList(new Media("Sunday"), new Media("Monday"))); } 

(您应该更喜欢具体类的接口。将您的类型定义为Map>

使用静态块:

 static { mediaListWithCategory.put(youKey, yourValue); } 

这种变体可能更简洁:

 static HashMap> map = new HashMap>() {{ put("January", new ArrayList() {{ add("Sunday"); add("Monday"); }}); put("Februsry" /* sic. */, new ArrayList() {{ add("Saturday"); add("Sunday"); add("Thursday"); }}); put("March", new ArrayList() {{ add("Monday"); add("Tuesday"); add("Wednesday"); }}); }}; 

有关讨论,请参阅Double Brace Initialisation 。