Package Com.modle;import java.util.arraylist;import Java.util.bitset;import java.util.list;/** * Template Method Mode * @author k560 * */public Abstract class Abstractmap {/* Gets a duplicate number */protected abstract list<integer> getsamedata (int[] data); /* Get duplicate numbers and reverse output */public void Showsamedata (int[] data) {list<integer> Samedata = this.getsamedata (data); This.show (samedata);} /* Show duplicate numbers */private void Show (List<integer> samedata) {System.out.println ("The following numbers are duplicates"); for (int i:samedata) { System.out.println (i);}} public static void Main (string[] args) {abstractmap map=new MyMap (); int[] Data=new int[]{ 8,8,5,6,3,2,1,4,7,5,10,56,89,78,1};map.showsamedata (data);}} Class MyMap extends Abstractmap {@Overrideprotected list<integer> getsamedata (int[] data) {list<integer> l Ist=new arraylist<integer> (); BitSet bs = new BitSet (), for (int i:data) {if (Bs.get (i) = = False) {Bs.set (I, true);} else {list.add (i); }}return list;}}
(behavioral mode one) template method mode