How to represent an attribute's data type as an array of objects on class diagram?

ArraysUmlClass Diagram

Arrays Problem Overview


I have a SportsCentre class which contains an array of Employee objects.

Which is the right way to show that an attribute's data type is an array of objects?

I have found two different versions online:

  • the first one uses the ArrayList<> keyword:

    SportsCentre
    - listOfRegistered : ArrayList<Employee>
    getRegisteredList() : ArrayList<Employee>
  • the second one uses square brackets []:

    SportsCentre
    - listOfRegistered : Employee[0..*]
    getRegisteredList() : Employee[0..*]

Arrays Solutions


Solution 1 - Arrays

Both are correct, but the second one, when multiplicity is set to more than one is used is more natural, and it is not necessary do define collection class as it is shown on the first picture of your example. Simply said, multiplicity defines how many instances of specific type can be stored by attribute. This set of instance can be ordered or duplicates in it may be allowed. Parameters of multiplicity element have impact on type of collection which should be used, Set, Vector, Array etc. But, if you need precise info about this issue, read UML Superstructure. Search for Property and Multiplicity Element. here is UML website

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionYiannisView Question on Stackoverflow
Solution 1 - ArraysVladimirView Answer on Stackoverflow