数组列表

时间:2016-09-21 07:09:07

标签: java arrays arraylist

有一种方法可以让Array位于另一个Array / ArrayList内,是不同类型的?示例:如果我想创建一个包含类名称的ArrayList,并在每个索引中创建一个Array及其统计信息。

1 个答案:

答案 0 :(得分:0)

如果您只需要处理20种不同的数据结构,那么在可读性方面最好的是为每个数据结构创建一个自定义类。最终考虑创建类和通用接口的层次结构。

如果您需要构建通用数据结构来保存不同类型的数据,则可以使用不同的技术。

如果您不关心字段的顺序,可以使用如下的简单地图:

Map<String, Object> complexObject = new HashMap<>();
complexObject.put("name", "John");
complexObject.put("lastName", "Smith");
complexObject.put("age", 30);

如果您需要保留字段的顺序,可以使用LinkedHashMap

  

Map接口的哈希表和链表实现,具有可预测的迭代顺序。

此数据结构也可以包含嵌套级别,例如:

Map<String, Object> person = new HashMap<>();
person.put("name", "John");
person.put("lastName", "Smith");
person.put("age", 30);

Map<String, Object> address = new HashMap<>();
address.put("city", "Rome");
address.put("country", "Italy");

person.put("address", address);

List<String> preferredColors = new ArrayList<>();
preferredColors.add("Red");
preferredColors.add("Blue");

person.put("preferredColors", preferredColors);

最终,您还可以考虑在自定义类“ ComplexData ”中隐藏Map,该类仅公开添加或设置属性并获取属性的方法,最终添加特定方法来检索原始数据类型所以你不需要手动转换返回的值。