[英]What would be the best data structure to use? java
我有一個GUI,人們可以在其中輸入數據,但我不確定存儲數據的最佳方法是什么。 這就是我如何可視化數據:
Cats: Cheetah, lion, puma
Dogs: husky, lab
用戶可以添加一種動物,例如狐狸,然后添加狐狸的類型。 他們還可以將新型的貓狗添加到它們的現有列表中。 用來存儲此數據的最佳數據結構是什么?
Map<Family,Set<Species>>
對於具體的類,我可以使用TreeMap
和TreeSet
,確保我的Family
和Species
類型實現可比較的(或者可以用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.