如何访问四层嵌套List<List<List<List<Object>>>>中的元素?
如何访问四层嵌套List里的目标元素?
嘿,我来帮你理清楚怎么操作这个嵌套List~先结合你描述的结构,咱们一步步拆解:
你定义的titles是个四层嵌套的List,结构大概是这样的:
- 最外层
titles只有1个元素(索引从0开始哦) - 这个元素是个List,里面有3个元素
- 这3个元素里的每一个,都是包含6个Object的List
第一步:拿到第一个包含6个元素的List
要拿到第一个6元素的List,咱们得一层一层往里取,用List的get(index)方法就行:
// 先取出最外层的唯一元素,得到第二层List List<List<List<Object>>> level2List = titles.get(0); // 再取出第二层List的第一个元素,这就是你要的那个6元素List啦 List<Object> firstSixItemList = level2List.get(0);
嫌麻烦的话,也可以直接合并成一行代码:
List<Object> firstSixItemList = titles.get(0).get(0);
第二步:访问这个6元素List里的每个元素
拿到目标List之后,就可以通过索引逐个获取里面的元素了。因为元素是Object类型,记得根据实际值的类型做强制转换哦:
// 第一个元素是数字12 Integer num1 = (Integer) firstSixItemList.get(0); // 第二个是字符串"01" String code = (String) firstSixItemList.get(1); // 第三个是数字1 Integer eventType = (Integer) firstSixItemList.get(2); // 第四个是描述字符串"Fallo de corriente" String description = (String) firstSixItemList.get(3); // 第五个是数字0 Integer status1 = (Integer) firstSixItemList.get(4); // 第六个是数字1 Integer status2 = (Integer) firstSixItemList.get(5);
如果想一次性遍历所有元素,用for循环更方便:
for (Object item : firstSixItemList) { // 这里可以做你需要的操作,比如打印看看 System.out.println(item); }
小建议:优化嵌套结构的可读性
四层嵌套List真的太绕了,后期维护起来会头疼。建议你把这6个元素封装成一个实体类,比如:
class EventRecord { private Integer code1; private String code2; private Integer type; private String description; private Integer statusFlag1; private Integer statusFlag2; // 构造方法 public EventRecord(Integer code1, String code2, Integer type, String description, Integer statusFlag1, Integer statusFlag2) { this.code1 = code1; this.code2 = code2; this.type = type; this.description = description; this.statusFlag1 = statusFlag1; this.statusFlag2 = statusFlag2; } // 按需写getter方法,比如获取描述 public String getDescription() { return description; } }
这样你的List结构就可以简化成List<List<EventRecord>> titles,访问起来就清晰多了:
EventRecord firstRecord = titles.get(0).get(0); String desc = firstRecord.getDescription();
内容的提问来源于stack exchange,提问作者willy22
相关产品推荐
相关产品推荐

