当前位置: 首页 > 知识库问答 >
问题:

地图的排序列表:需要一次根据两个值对地图列表进行排序

解柏
2023-03-14
List<Map<String,Object>> listOfMap = new ArrayList<Map<String,Object>>();
// creating maps
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("Number", 2);
map1.put("Date1", new Date("12-OCT-2018"));// Consider any date
map1.put("Date2", new Date("02-MAY-2017"));// Consider any date

Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("Number", 5);
map2.put("Date1", new Date("12-OCT-2018"));// Consider some date
map2.put("Date2", new Date("01-JAN-2017"));// Consider some date

// ...

Map<String, Object> mapN = new HashMap<String, Object>();
mapN.put("Number", 8);
mapN.put("Date1", new Date("10-JAN-2016"));// Consider some date
mapN.put("Date2", new Date("10-MAY-2016"));// Consider some date

有了上面的地图值列表,我需要在一个伸展过程中根据date1和date2进行排序,从而得到下面的输出…

对于上述输入数据,我要求的O/P顺序是:

Number  Date1      Date2
8       10-Jan-16  10-May-16  //mapN 
5       12-Oct-18  1-Jan-17   //map2
2       12-Oct-18  2-May-17   //map1

共有1个答案

程成天
2023-03-14

我会将映射对象封装到一个类中。事实上,您可能根本不需要映射,因为我看到您对每个映射都使用相同的键(难道不能使用类的属性吗?)。

一旦有了这个封装,让该类实现可比较接口,并在compareTo方法中使用所需的条件进行比较。

这样做后,您需要做的就是在列表中使用。sort()。

implements Comparator<Map<String, Object>>
 类似资料:
  • 问题内容: 我有一个这样创建的列表变量: 在我的Android应用程序中,将填充此列表。 只是一个例子: 我正在通过扩展和实现各种方法来显示结果。 我的问题:我需要根据地图的键 名* 按字母顺序排序 * 问题:基于地图的键 名 按字母顺序排序的简单方法是什么? 我似乎无法解决这个问题。我已经提取的每个 名字 从每个成阵列,并且排序它()。但这并不能保留每个数据中的其他数据,因此我不太确定如何保存其

  • 问题内容: 我正在使用map接口从文件中读取,然后将其中的值存储为键值对。文件格式如下 我将从该文件中读取数据并将其存储为键值对,然后将其显示给用户。我的要求是以这种格式显示结果 因此,我需要按值的降序对地图进行排序。这样我就可以将它们显示为我的结果..我已经阅读了有关此内容并找到了以下代码 我希望这将按升序对值进行排序,我只想知道此方法是否正确,或者其他有效方法对我有帮助? 问题答案: 由于您可

  • 如何根据条目列表的值和键对地图进行排序 首先按Value desc排序,然后如果值冲突按Key Desc排序 给定地图中的示例: 预期订单:

  • 问题内容: 我有一个这样的字符串列表: 使用Y中的值对X进行排序以获取以下输出的最短方法是什么? 具有相同“键”的元素的顺序无关紧要。我可以求助于for结构的使用,但我好奇是否有更短的方法。有什么建议么? 问题答案: 最短代码 例: 一般来说 解释: 两个。 创建一个新的,list基于zip使用排序sorted()。 使用列表推导从排序的,压缩的中提取每对的第一个元素list。

  • 问题内容: Stream >> sorted = index.entrySet().stream() .sorted(Map.Entry.comparingByValue()); 类型中的方法不适用于参数 我想根据作为的值的列表对a进行排序。如何使用Java 8中的Stream库实现此目的? 问题答案: 这可能对您有帮助。 我将结果映射的类型更改为 LinkedHashMap 以遵守插入顺序。

  • 问题内容: 我正在使用python 2.7.3,并且尝试根据另一个列表的值顺序对字典列表进行排序。 IE浏览器: 根据listOne中值的顺序对listTwo进行排序,结果如下: 我最终需要输出此文本,因此为正确显示(以正确的顺序)所做的工作如下: 是否有某种lambda表达式可用于实现此目的?必须有一种更紧凑,更简单的方法来按我想要的顺序来获取它。 问题答案: 最简单的方法是使用来为您的词典列表