Possible Duplicate:
Java associative-array
我有一个 PHP 数组,我需要一种方法来在 Java 中描述相同类型的数组。 Java 的等价物是什么?
<?php
$data = array(
"Artist 1" => array(
"Album 1" => array(
array("id", "title", "genre", "length", "year"),
array("id", "title", "genre", "length", "year"),
array("id", "title", "genre", "length", "year")
),
"Album 2" => array(
array("id", "title", "genre", "length", "year"),
array("id", "title", "genre", "length", "year"),
array("id", "title", "genre", "length", "year")
)
),
"Artist 2" => array(
"Album 1" => array(
array("id", "title", "genre", "length", "year"),
array("id", "title", "genre", "length", "year")
)
)
);
?>
最佳答案
通过更新的示例,我将使用
List<Record> records = ...
records.add(new Record("Artist 1", "Album 1", "id", "title", "genre", "length", "year"));
// etc
之后,我将创建所需的索引,甚至使用 MySQL 等数据库或从纯 CSV 加载数据
Artist 1,Album 1,id,title,genre,length,year
Artist 1,Album 1,id,title,genre,length,year
Artist 1,Album 2,id,title,genre,length,year
Artist 1,Album 2,id,title,genre,length,year
Artist 2,Album 1,id,title,genre,length,year
<小时/>
除非有充分的理由嵌套数据,否则我会使用复合键
Map<String, List<String>> map = new LinkedHashMap<>();
map.put("1,1", Arrays.asList("abcdefgh", "abcdefgh", "abcdefgh"));
map.put("1,2", Arrays.asList("abcdefgh", "abcdefgh", "abcdefgh"));
map.put("2,1", Arrays.asList("abcdefgh", "abcdefgh"));
Java 作为一种面向对象的语言,最好尽可能使用对象来存储数据结构。
关于PHP 数组结构的 Java 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11951790/