如何将这种类型的数据处理成Array - JAVA

时间:2016-11-02 13:27:08

标签: java android arrays sorting

在我的应用程序中,我有一个函数可以提供这种类型的数据:

年(int)和与该年相关联的字符串(年份可以关联更多字符串):

  

2016 - “1A2B3C”

     

2009 - “8DF56R”

     

2009 - “8E4I1J”

     

2013 - “P6F2T8”

     

2009 - “4K6J5U”

我想为每个年份创建一个String数组,而不是按年份排序。像这样:

  

2009 - “8DF56R”“8E4I1J”“4K6J5U”

     

2013 - “P6F2T8”

     

2016 - “1A2B3C”

年份应该是指数, 我该如何检索输出?

对于noob问题我很抱歉,但我尝试了数组,ArrayList和Map数组,但我可能会遗漏一些东西。

2 个答案:

答案 0 :(得分:6)

您应该使用A{2,3}这样的Map

List

您可以填写与Map<Integer, List<String>> = new TreeMap<>(); 密钥相关联的List(日期)。 Integer根据自然顺序对您的密钥进行排序(如果我没记错的话,默认情况下会提升)。

如果您的默认设置不合适,您也可以创建自定义TreeMap

答案 1 :(得分:0)

另一个解决方案是创建一个包含您的信息(年,字符串等)并实现Comparable接口的Class T.方法compareTo(T)将比较年份。通过这种方式,您可以处理更多信息。 例如,可以将此类型的对象插入到SortedSet中,或者与Collections.sort或Java8 Stream一起使用的List。