As the name implies, multiple cases are compared to a singleton pattern, which can have more than one finite instance, such as the following, can only have two instances.
Import java.util.ArrayList;
Import Java.util.Random;
Class Multition
{
Private final static int max_number=2;
private static arraylist<multition> amultitionarraylist=new arraylist<multition> ();
private static int index=0;
Private String Currentmultitioninfo;
Static
{
for (int i=0;i<max_number;i++)
{
Index=i;
Amultitionarraylist.add (New Multition ());
}
}
Private Multition ()
{
Currentmultitioninfo= "The current object is" +INDEX;
}
public static multition getinstance ()
{
Random arandom=new random ();
Index=arandom.nextint (Max_number);
Return Amultitionarraylist.get (index);
}
public void Printmultitioninfo ()
{
System.out.println (Currentmultitioninfo);
}
}
public class Multitionpatterntest
{
public static void Main (string[] args)
{
Multition Amultiton=null;
for (int i=0;i<10;i++)
{
Amultiton=multition.getinstance ();
Amultiton.printmultitioninfo ();
}
}
}
///////////////////////////////
Output Result:
The current object is 1
The current object is 1
The current object is 0
The current object is 1
The current object is 0
The current object is 0
The current object is 0
The current object is 0
The current object is 1
The current object is 0
5 of 23 Design Patterns in Java-Multiple patterns (multition pattern)