gpt4 book ai didi

JAVA:SomeStructure 使其按另一种类型 T 排序?

转载 作者:行者123 更新时间:2023-12-02 04:55:29 25 4
gpt4 key购买 nike

我有一个数据类如下:

class MyData { private UUID id; private String data1; private String data2}

我将其实例存储在 map 中:

private Map<UUID, MyData> myData;

众所周知,我可以通过 UUID 获取 MyData 实例:

MyData instance = myData.get(UUID);

但我还需要通过索引获取 MyData 实例。此外,索引按 MyData.data1 字段排序。所以我需要一个新的数据结构来根据索引顺序存储UUID,也许是这样的:

private SomeStructure<UUID> myDataIndex;

我想要的是这个SomeStructure类(class)。它应该有一个公共(public)方法,例如:

public UUID getUuidByIndex(int index);

并且,它应该按 MyData.data1 字段对 UUID 元素进行排序。

而且,每次我将一个项目放入private Map<UUID, MyData> myData ,该项目的 UUID 也会添加到 private SomeStructure<UUID> myDataIndex 。我认为这是一个性能考虑,当我通过索引获取元素时不会生成ArrayList或其他东西。

对此有任何想法SomeStructure ?我希望能更多地了解扩展或实现已知 JAVA 数据结构的方法。当然,完全定制的结构也受到高度赞赏。

为了让您充分理解我的问题,我想陈述一下我的情况:

  1. 为什么我有 map ?我想通过UUID获取数据。

  2. 为什么我想要 SomeStructure?我也想通过索引获取数据。

为了简单起见:我想通过两种不同的方式迭代我的数据。

非常感谢!

最佳答案

使用 Sort a Map<Key, Value> by values (Java) 中的技术之一生成根据您的值排序的排序映射。

一旦有了这样的 map ,您就可以使用其索引和代码来访问项目,例如:

MyData item = new ArrayList<MyData>(myData.values()).get(index);

您可以使用普通的 get(UUID) 通过其 UUID 进行访问。

关于JAVA:SomeStructure<E> 使其按另一种类型 T 排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28810189/

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