import?
java.io.Serializable;
import? java.util.AbstractSet;
import? java.util.ArrayList;
import? java.util.Collection;
import? java.util.Iterator;
import? java.util.Set;
public?class? MainClass? {
?? public?static? void? main ( String?args [])?{
???? Set?map?=? new? ArraySet () ;
???? map.add ( "V" ) ;
???? map.add ( "M" ) ;
???? map.add ( "N" ) ;
???? System.out.println ( map ) ;
?? }
}
class? ArraySet? extends? AbstractSet? implements? Cloneable,?Serializable? {
?? private? ArrayList?list;
?? public? ArraySet ()?{
???? list?=? new? ArrayList () ;
?? }
?? public? ArraySet ( Collection?col )?{
???? list?=? new? ArrayList () ;
???? //?No?need?to?check?for?dups?if?col?is?a?set
???? Iterator?itor?=?col.iterator () ;
???? if? ( col? instanceof? Set )?{
?????? while? ( itor.hasNext ())?{
???????? list.add ( itor.next ()) ;
?????? }
???? }? else? {
?????? while? ( itor.hasNext ())?{
???????? add ( itor.next ()) ;
?????? }
???? }
?? }
?? public? Iterator?iterator ()?{
???? return? list.iterator () ;
?? }
?? public? int? size ()?{
???? return? list.size () ;
?? }
?? public? boolean? add ( Object?element )?{
???? boolean? modified;
???? if? ( modified?=?!list.contains ( element ))?{
?????? list.add ( element ) ;
???? }
???? return? modified;
?? }
?? public? boolean? remove ( Object?element )?{
???? return? list.remove ( element ) ;
?? }
?? public? boolean? isEmpty ()?{
???? return? list.isEmpty () ;
?? }
?? public? boolean? contains ( Object?element )?{
???? return? list.contains ( element ) ;
?? }
?? public? void? clear ()?{
???? list.clear () ;
?? }
?? public? Object?clone ()?{
???? try? {
?????? ArraySet?newSet?=? ( ArraySet )? super .clone () ;
?????? newSet.list?=? ( ArrayList )? list.clone () ;
?????? return? newSet;
???? }? catch? ( CloneNotSupportedException?e )?{
?????? throw?new? InternalError () ;
???? }
?? }
}
import? java.util.AbstractSet;
import? java.util.ArrayList;
import? java.util.Collection;
import? java.util.Iterator;
import? java.util.Set;
public?class? MainClass? {
?? public?static? void? main ( String?args [])?{
???? Set?map?=? new? ArraySet () ;
???? map.add ( "V" ) ;
???? map.add ( "M" ) ;
???? map.add ( "N" ) ;
???? System.out.println ( map ) ;
?? }
}
class? ArraySet? extends? AbstractSet? implements? Cloneable,?Serializable? {
?? private? ArrayList?list;
?? public? ArraySet ()?{
???? list?=? new? ArrayList () ;
?? }
?? public? ArraySet ( Collection?col )?{
???? list?=? new? ArrayList () ;
???? //?No?need?to?check?for?dups?if?col?is?a?set
???? Iterator?itor?=?col.iterator () ;
???? if? ( col? instanceof? Set )?{
?????? while? ( itor.hasNext ())?{
???????? list.add ( itor.next ()) ;
?????? }
???? }? else? {
?????? while? ( itor.hasNext ())?{
???????? add ( itor.next ()) ;
?????? }
???? }
?? }
?? public? Iterator?iterator ()?{
???? return? list.iterator () ;
?? }
?? public? int? size ()?{
???? return? list.size () ;
?? }
?? public? boolean? add ( Object?element )?{
???? boolean? modified;
???? if? ( modified?=?!list.contains ( element ))?{
?????? list.add ( element ) ;
???? }
???? return? modified;
?? }
?? public? boolean? remove ( Object?element )?{
???? return? list.remove ( element ) ;
?? }
?? public? boolean? isEmpty ()?{
???? return? list.isEmpty () ;
?? }
?? public? boolean? contains ( Object?element )?{
???? return? list.contains ( element ) ;
?? }
?? public? void? clear ()?{
???? list.clear () ;
?? }
?? public? Object?clone ()?{
???? try? {
?????? ArraySet?newSet?=? ( ArraySet )? super .clone () ;
?????? newSet.list?=? ( ArrayList )? list.clone () ;
?????? return? newSet;
???? }? catch? ( CloneNotSupportedException?e )?{
?????? throw?new? InternalError () ;
???? }
?? }
}