Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package e2;
- import java.util.Iterator;
- import java.util.List;
- public class Rebote implements Iterator<String> {
- private List<String> lista;
- private int k;
- private int pos= 0;
- private int salto=1;
- private boolean atras=false;
- public Rebote(List<String> lista, int k){
- this.lista=lista;
- this.k=k;
- }
- @Override
- public boolean hasNext() {
- if (lista.size()>1){
- return true;
- } else return false;
- }
- @Override
- public String next() {
- pos=pos-1;
- int i;
- for(i=0;i<k;i++){
- if(atras){
- pos--;
- }
- pos=pos+salto;
- if(pos== lista.size()-1) {
- salto = -1;
- }else if(pos==0){
- salto = 1;
- }
- if(i==k-1){
- if(salto==-1){
- atras=true;
- }else atras=false;
- salto=1;
- }
- }
- String resultado = lista.get(pos);
- return resultado;
- }
- @Override
- public void remove() {
- lista.remove(pos);
- if(pos> lista.size()){
- pos=0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement