gpt4 book ai didi

Java三种属性,存储+排序的最佳方式

转载 作者:行者123 更新时间:2023-12-01 09:07:32 25 4
gpt4 key购买 nike

我有一个数据结构存储在一个映射中,其中一个多重映射作为我想要按多个属性排序的值。

背景:我有一个 JavaFX GridPane,我想在其中以有序形式显示一些内容。因此,对于 GridPane 中的每个点,我都有一些元素,其中一个+字符串与它们相关。我想根据字符串的字母顺序显示元素。

我现在有以下内容:

Map<Coordinate, Multimap<Element, String>> myMap = new HashMap<Coordinate, Multimap<Element, String>>();

但对我来说不清楚如何进行排序。正如您通过 Multimap 的使用所看到的,一个元素可以有多个字符串。最后,我想按坐标(x 和 y)以及每个坐标的 String 属性进行排序。怎么做?或者有谁有更好的想法如何存储这些属性?

编辑:坐标排序很简单,而不是问题:

List<Coordinate> keys = new ArrayList<Coordinate>(myMap.keySet());
Comparator<Coordinate> comparator = Comparator.comparing(Coordinate::getX).thenComparing(Coordinate::getY);
Collections.sort(keys, comparator);

我刚刚解释了它以澄清我的问题。主要问题是:如何对每个坐标具有相关元素的字符串进行排序。或者“更好”的结构来保存属性。

谢谢!

最佳答案

哦该死。这个问题我可以自己回答一下。我只是将 String 作为键,将 Element 作为值。然后使用

ListMultimap<String, Element> lmm = Multimaps.newListMultimap(
new TreeMap<>(), ArrayList::new);

按照建议here 。等等...对于每个坐标,内部映射都按字符串属性排序。

关于Java三种属性,存储+排序的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41142814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com