我想将单个数组过滤成多个部分。假设我有一个 ArrayList
的 String :
Array1 = ["2015-01-06","2015-04-06",
"2016-06-06","2016-01-06",
"2016-05-06","2017-02-06",
"2017-04-06","2017-03-06",
"2015-03-06","2016-04-06",
"2016-02-06","2015-05-06",
"2015-01-06","2016-06-06"]
我希望它根据年份过滤新数组,以便输出如下所示:
arrayA = ["2015-01-06","2015-04-06","2015-03-06","2015-05-06","2015-01-06"]
arrayB = ["2016-06-06","2016-01-06","2016-05-06","2016-04-06","2016-02-06","2016-06-06"]
arrayC = [""2017-02-06","2017-04-06","2017-03-06""]
这些阵列现在基于多年。我不知道完成这项任务的正确方法。
最佳答案
这将每年创建一个 ArrayList
ArrayList<String> array1 = new ArrayList<String>();
Map<String, List<String>> mapForYear = new TreeMap<String, List<String>>();
for(String date : array1)
{
String year = date.substring(0,4);
if(!mapForYear.containsKey(year))
mapForYear.put(year, new ArrayList<String>());
mapForYear.get(year).add(date);
}
关于java - 过滤不同数组中的数组列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35919292/