使用流和过滤器遍历多个列表并获取字符串

问题描述 投票:0回答:0

我有两个列表和两张地图,如下所示:

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))

}


}

有没有办法可以减少运行时间,并可能使用流和过滤器来解析字符串,就像我上面所做的那样?

java string parsing filter stream
© www.soinside.com 2019 - 2024. All rights reserved.