Posted on 2006-11-05 17:47
苑 阅读(202)
评论(0) 编辑 收藏 所属分类:
java基础学习系列
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
()
;
}
}
}