在我的应用程序中,我有一个函数,给我的数据类型:
一个年份(int)和与该年份相关的字符串(年份可以关联更多字符串):
2016 - 1A2B3C"
2009 - "8DF56R"
2009 - 8E4I1J"
2013 - P6F2T8"
2009 - "4K6J5U"
我想为每个年份创建一个字符串数组,而不是对逐年递增的年份排序。这样的:
2009 - "8DF56R"8 e4i1j"4 k6j5u"
2013 - P6F2T8"
2016 - 1A2B3C"
年份应该是索引,我如何检索输出?
为新手问题抱歉,但我尝试了数组的数组,数组列表和地图,但我可能错过了一些东西
您应该像这样使用List
的Map
:
Map<Integer, List<String>> = new TreeMap<>();
,您可以填写与Integer
键(日期)关联的List
s。TreeMap
根据键的自然顺序对它们进行排序(如果我没记错的话,默认是升序)。
您也可以创建一个自定义的Comparator
,如果默认值是不满意的
另一个解决方案是创建一个包含您的信息(年份,字符串等)的类T并实现Comparable接口。方法compareTo(T)将比较年份。这样你可以处理更多的信息。例如,这种类型的对象可以插入到SortedSet中,也可以插入到与Collections一起使用的List中。