繁体   English   中英

最佳的数据结构是什么? java的

[英]What would be the best data structure to use? java

我有一个GUI,人们可以在其中输入数据,但我不确定存储数据的最佳方法是什么。 这就是我如何可视化数据:

Cats: Cheetah, lion, puma
Dogs: husky, lab

用户可以添加一种动物,例如狐狸,然后添加狐狸的类型。 他们还可以将新型的猫狗添加到它们的现有列表中。 用来存储此数据的最佳数据结构是什么?

Map<Family,Set<Species>>

对于具体的类,我可以使用TreeMapTreeSet ,确保我的FamilySpecies类型实现可比较的(或者可以用String代替这些类型)。 这些类型已排序,因此对其进行迭代将以合理的顺序显示数据。

您可以简单地使用

HashMap<String,ArrayList<String>> container

第一个String指向动物类型名称,而arraylist包含该类型下的动物名称。

您可以使用HashMap<String, Set<String>>

例:

Map<String, Set<String>> animals = new HashMap<>();

// To add a new category of animal
animals.put("Cat", new HashSet<>());
animals.put("Dog", new HashSet<>());

// To add a new animal to an existing category
animals.get("Cat").add("Puma");
animals.get("Cat").add("Tiger");
animals.get("Dog").add("Labrador");

// prints {Cat=[Tiger, Puma], Dog=[Labrador]}
System.out.println(animals);

您可以使用Guava的MultiMap来管理以下内容:

Map<Key, CollectionOfValues>

我会再考虑一下数据模型,看看是否可以为每个组的成员创建包装器类。 从长远来看,这将使代码更具可读性。 也许:

Map<Genus, Members>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM