簡體   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