Java是否支持关联数组?

Fug*_*ugo 7 java arrays

我想知道Java中的数组是否可以执行以下操作:

int[] a = new int[10];
a["index0"] = 100;
a["index1"] = 100;
Run Code Online (Sandbox Code Playgroud)

我知道我在其他语言中看到了类似的功能,但我并不熟悉任何细节...只是有办法将值与字符串常量相关联而不仅仅是数字索引.有没有办法在Java中实现这样的东西?

Mat*_*all 18

您不能使用Java数组执行此操作.听起来你想用一个java.util.Map.

Map<String, Integer> a = new HashMap<String, Integer>();

// put values into the map
a.put("index0", 100); // autoboxed from int -> Integer
a.put("index1", Integer.valueOf(200));

// retrieve values from the map
int index0 = a.get("index0"); // 100
int index1 = a.get("index1"); // 200
Run Code Online (Sandbox Code Playgroud)

  • @Fugogugo:`HashMap`是一个实现类; `Map`是界面.我建议对`Map`接口进行编码,在这种情况下,这意味着将变量声明为`Map`而不是`HashMap`. (2认同)

POS*_*DER 4

我对 C++ 一无所知,但您可能正在寻找一个实现Map 接口的类。