Java-ArrayList对象通过多个值和键循环

Java-ArrayList对象通过多个值和键循环,java,for-loop,if-statement,arraylist,dynamic,Java,For Loop,If Statement,Arraylist,Dynamic,我是Java新手,我通过使用一个带有for循环和if语句的arraylist来创建以下json。我想使用dynamic forloop。但我仍然坚持使用for循环逻辑部分 这是我的java程序 main.java import com.fasterxml.jackson.core.JsonProcessingException; 导入com.fasterxml.jackson.databind.ObjectMapper; 导入com.fasterxml.jackson.databind.Ser

我是Java新手,我通过使用一个带有for循环和if语句的arraylist来创建以下json。我想使用dynamic forloop。但我仍然坚持使用for循环逻辑部分

这是我的java程序

main.java

import com.fasterxml.jackson.core.JsonProcessingException;
导入com.fasterxml.jackson.databind.ObjectMapper;
导入com.fasterxml.jackson.databind.SerializationFeature;
公共类SingleListForLoop{
公共静态void main(字符串args[])引发JsonProcessingException{
List>dataProviderList=newlinkedList<>();
ListyearList=newlinkedlist<>();
《年鉴》,增补(2009年);
《年鉴》,增补(2010年);
《年鉴》,增补(2011年);
《年鉴》,增补(2012年);
《年鉴》,增补(2013年);
《年鉴》增补(2014年);
《年鉴》增补(21.4);
《年鉴》增补(31.3);
《年鉴》增补(15.6);
《年鉴》增补(34.8);
《年鉴》增补(20.1);
《年鉴》增补(27.3);
《年鉴》增补(20.3);
《年鉴》增补(43.1);
《年鉴》,增(19.8);
《年鉴》增补(34.7);
《年鉴》,增(24.4);
《年鉴》,增(21.9);
对于(int i=0;i<(yearList.size()-(i+6));i++){
MapdataProviderValueMap=new LinkedHashMap<>();
dataProviderValueMap.put(“年”,yearList.get(i));

对于(int j=i+6;j为什么要使用包含混合数据的单个列表?这是一种非常糟糕的做法。如果需要,可以只使用一个列表,但这必须是某种结构的列表。可能是的实现,因为结构中有一些必填字段和一些可选字段。它不是实际上,避免长时间编码,因为这会使列表解析循环代码更复杂,更难阅读和调试。创建一个包含年份、收入和支出的POJO。用适当的数据填充此类POJO的列表。即使没有映射,生成的JSON也很容易创建。为什么要使用包含混合数据的单个列表a?这是一种非常糟糕的做法。如果有需求,可能只有一个列表,但那必须是某种结构的列表。可能是的实现,因为结构中有一些必填字段和一些可选字段。这实际上并不阻止长编码,因为它会使列表解析循环代码更复杂、更难阅读和调试。创建一个包含年份、收入和支出的POJO。用适当的数据填充一个包含此类POJO的列表。生成的JSON创建起来很简单,甚至没有映射。