Create an application that allows a user to create flags. A flag consists of three colors. These three colors must be stored in an array. Once a user has chosen three colors (one for the top bar, one for the middle, and one for the bottom), they can then enter the flag into the system. The flags are stored in a List. Also, give each flag a name (of a fictional country). Duplicate countries should not appear in the list of flags.
The user should also be able to select and view a flag. When a flag is selected, the colors of the flag are displayed on the screen.
Ensure that the user interface is set up as intuitively as possible. It should also be operable on a mobile device, for example.