Hi All! This is my first post. I apologize ahead of time if this post has any problems (length, format, etc.)
I am trying to design software to generate draws for a badminton tournament and wanted some help (comments/feedback) making design choices. Each player's information is stored inside of a comma delimited text file that I parse inside of the software (just a Java program for now; would like to integrate it into a GUI). The goal of the software is take all the information and construct 20 draws for 20 events, where each draw gives information on who plays who.
The basic structure I have set up so far:
-CompetingEntity Abstract Class: extended by Participant and Team Classes. (A team consists of two participants)
-Event Class: represents a particular event flight. (There are 4 flights : A B C D. 5 event types: mens singles, mens doubles, womens singles, womens doubles, and mixed doubles. 20 total events)
-All participants are stored inside of a HashMap, and events in a separate HashMap. Each participant stores a String denoting the events he/she is in, and each event stores a list of participants.
-Match Class: represents two competing entities that must play each other.
-Miscellaneous: when parsing the txt file, there are participants whose partners cannot be matched up (either missing partner names and/or spelling inconsistencies). I used two linkedHashSets to store
a needPartnersList and a mismatchedPartnersList
My questions:
1. I know I haven't given enough information, but thoughts on my choices for data structures so far? (efficiency, memory allocation, simplicity, etc.)
2. What type of data structure should I use for a draw, and how should I go about implementing the logic? (My thoughts: some type of tree structure seems most natural.)
Thanks all!