我想将单个数组过滤成多个部分。假设我有一个 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/

10-09 00:17
查看更多