import java.util.Iterator;
import java.util.LinkedList;
import java.util.Random;
public class MySortSet<E extends Comparable> implements Iterable<E>{
private LinkedList<E> list=new LinkedList<E>();
public void add(E e){
if(list.contains(e)){
return ;
}
int i;
for(i=0;i<list.size();i++){
E element=list.get(i);
if(e.compareTo(element)<0){
break;
}
}
list.add(i, e);
}
@Override
public Iterator<E>iterator() {
// TODO Auto-generated method stub
return new Iterator<E>() {
private int index=0;
@Override
public boolean hasNext() {
// TODO Auto-generated method stub
return index<list.size();
}
@Override
public E next() {
// TODO Auto-generated method stub
return list.get(index++);
}
@Override
public void remove() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException();
}
};
}
public static void main(String[] args) {
MySortSet<Integer>sortSet=new MySortSet<Integer>();
Random random=new Random();
for(int i=0;i<40;i++){
int x=random.nextInt(10);
sortSet.add(x);
}
for(Integer x:sortSet){
System.out.println(x);
}
}
}
使用LinkedList作为基层实现,定义自己的Set
最新推荐文章于 2021-04-11 23:08:16 发布