【发布时间】:2017-06-27 05:05:18
【问题描述】:
我一直使用 PHP,而且我是 Java 新手。我现在已经阅读了一些关于 hashmaps、arraylist 等的教程,但是我现在很困惑哪一个对我来说是正确的选择。在 PHP 中,我曾经创建这样的数组:
$test['google']['color'] = "red";
$test['google']['value'] = 67;
$test['IBM']['color'] = "blue";
$test['apple']['value'] = 23;
.
.
我也想搜索键和值。在 Java 中什么是好的选择?
【问题讨论】:
-
不是类型混合数组。您展示的是一个二维整数数组,其键是字符串。因此,在 Java 中将其表示为 Map of Maps 非常容易。但总的来说,您应该记住,您不应该在两种语言之间找到精确的等价物。相反,您应该找到正确的数据结构,以帮助您以当前语言正确解决问题,而不是强迫它看起来像其他语言。
-
对不起,我的错!我需要一个类型混合的数组。感谢您的意见。这就是我问的原因。我不确定哪一个是正确的数据结构:)
-
在这种情况下,问问自己——为什么类型是混合的?在 Java 中,您通常将具有共同点的对象收集在一起。使用混合类型数组通常是表示对象的一种懒惰方式。
-
谢谢,但我还应该如何保存数据?我怎样才能分开“颜色”和“价值”,但仍然知道它们是为同一家公司服务的?我可以创建 2 个 Hashmap,例如“company,color”和“company,value”,但在我看来这代码很糟糕? :)
标签: java php arrays list multidimensional-array