我正在使用PHP中的这个数据结构
Array
(
[leigh@bla] => Array
(
[chat1] => Array
(
[0] => Array
(
[0] => 0
[1] => hi
[2] => 123213312
)
)
[chat2] => Array
(
[0] => Array
(
[0] => 0
[1] => whatever?
[2] => 123213312
)
[1] => Array
(
[0] => 1
[1] => ok
[2] => 23123213
)
)
)
[nelson@bla] => Array
(
[chat1] => Array
(
[0] => Array
(
[0] => 1
[1] => hello
[2] => 1232132123
)
)
)
)
这是PHP代码:
<?php
$arrTemp['leigh@bla']['chat1'][] = array(0, 'hi', '123213312');
$arrTemp['leigh@bla']['chat2'][] = array(0, 'whatever?', '123213312');
$arrTemp['leigh@bla']['chat2'][] = array(1, 'ok', '23123213');
$arrTemp['nelson@bla'] = array('chat1'=>array(array(1, 'hello', '1232132123')));
echo '<pre>';
print_r($arrTemp);
我正在尝试将此结构存储在Java中。但努力寻找合适的类型,我尝试过ArrayList&gt;在Java中存储这种结构的最佳方法是什么?
答案 0 :(得分:1)
外部结构似乎是一个关联数组(关键是“leigh”),所以对于那个级别你需要一个(Hash)Map(java中没有关联数组,Map
是等价的)。
里面似乎是一个列表列表,其中包含3个原子值(让我们称之为a,b和c)的结构,看起来像Integer
,String
,{ {1}}。
这3个值的简单容器如下所示:
Integer
并代表你的结构:
class InnerStructure {
Integer a, c;
String b;
}
请注意,Map<String, List<List<InnerStructure>>> wholeStructure;
和Map
仅为接口,其实现为List
和HashMap
或LinkedList
。
模仿你的php代码来填充这个结构:
ArrayList
当然,我强烈建议您不要只使用无名列表,而是找到描述此层次结构的实际用途的名称或术语。然后为这些类创建类并将列表聚合到这些类中,这使得它更易于阅读,类型安全并且不那么痛苦。