Please design a JAVA application that maintains the data for a simple social network. Each person within the network should have their own profile which contains the user's name, current status, and a list of friends.
This application should allow a user to join the network, leave the network, make a profile, modify the profile, search for other profiles, and add friends.
Form UML class diagram that describes your class designs. Explain in a separate document why you chose the ADTs you used in the design of the data structures.