Factory builder pattern is used by the builder design patter so that to make a decision which concrete class for initiation to build the desired object type.
In this pattern, the participant classes are: An abstract interface is specified by the builder class to create the product object parts.ConcreteBuilder creates and puts the product parts together by doing the implementation of the builder interface. It also keeps the proper representation track that has been created
A static member is involved in Singleton class, a static public method and a private constructor while doing implementation. This makes a reference to be returned to the static member.
A getInstance operation is being defined by the Singleton pattern which gives exposure to the unique instance. This unique instance is accessible by the clients. Responsibility of the getInstance() is to create class unique instance if it is not built uptill now and also to return the instance.
Collection interface is subtype of a List. Collection interface methods are also present in list interface.
List cant be instantiated as it is an interface. For creation of instance of the List, create concrete implementation instance of the interface. In Java Collection APIs, these options are present:
In java.util.concurrent package, List implementations