Java 关联数组

2022-08-31 05:48:23

如何在Java中创建和获取关联数组,就像我在PHP中一样?

例如:

$arr[0]['name'] = 'demo';
$arr[0]['fname'] = 'fdemo';
$arr[1]['name'] = 'test';
$arr[1]['fname'] = 'fname';

答案 1

Java不支持关联数组,但是使用.例如,Map

Map<String, String> map = new HashMap<String, String>();
map.put("name", "demo");
map.put("fname", "fdemo");
// etc

map.get("name"); // returns "demo"

对于您的示例(因为您可以将 String 替换为满足您需求的任何对象)更准确的是声明:

List<Map<String, String>> data = new ArrayList<>();
data.add(0, map);
data.get(0).get("name"); 

有关详细信息,请参阅官方文档


答案 2

Java不像PHP那样有关联数组。

对于您正在执行的操作,有多种解决方案,例如使用 Map,但这取决于您希望如何查找信息。您可以轻松地编写一个类来保存所有信息,并将它们的实例存储在 .ArrayList

public class Foo{
    public String name, fname;

    public Foo(String name, String fname){
        this.name = name;
        this.fname = fname;
    }
}

然后。。。

List<Foo> foos = new ArrayList<Foo>();
foos.add(new Foo("demo","fdemo"));
foos.add(new Foo("test","fname"));

因此,您可以像...

foos.get(0).name;
=> "demo"