我有两个列表和两张地图,如下所示:
List <String> codes = new ArrayList<>();
List <String> year = new ArrayList<>()
Map<String,Map<String,String> map1 = new HashMap<>();
Map<String,Map<String,String> map2 = new HashMap<>();
codes = [abc,def];
year = [2000,2001]
map1 = {abc={2000=0,2001=1, },def={2000=0.1,2001=0.3, }}
map2 = { abc={2000=0.1,2001=0.2, }}, def={2000=7.8,2001=5.4 }}
本质上,我想制作一个字符串以这种格式获取它,我会遍历唯一的年份列表,使其采用这种格式,其中顺序基于年份,如下所示:
String s = abc,2000,0,0.1, def,2000,0.1,7.8, abc,2001,1,0.2 def,2001,0.3,5.4
我用for循环来做到这一点,但运行时似乎很糟糕:
for (int i=0; Iodes<c.size();i++){
for (int j=0;j<year.size();j++){
String s = unique.get(i) + “,” + years.get(j) + “,” + map1.get(unique.get(i).years.get(j)) + “,” + map2.get(unique.get(i).years.get(j))
}
}
有没有办法可以减少运行时间,并可能使用流和过滤器来解析字符串,就像我上面所做的那样?