Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ja ne vidim gresku zna li neko gde je?

[es] :: Java :: Ja ne vidim gresku zna li neko gde je?

[ Pregleda: 2754 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

voxi

Član broj: 67178
Poruke: 328
*.skaut.net.



Profil

icon Ja ne vidim gresku zna li neko gde je?02.03.2007. u 15:57 - pre 208 meseci
Radim sa kolekcijama i sad sa LinkedList evo klase


Code:


/*
 * StekLifo.java
 *
 * Created on 02 March 2007, 15:30
 */

package MislitNaJavi.Kolekcije;
import java.util.*;
/**
 *
 * 
 */
public class StekLifo {
    LinkedList ls =new LinkedList();
    
    
    ListIterator lit=ls.listIterator();
     
    /** Creates a new instance of StekLifo */
    public StekLifo() {
    }
    
    public void prethodni(){
        
        if (lit.hasPrevious()==true)
           System.out.println("=> " + lit.previous()); 
       
    }
    
    public void sledeci(){
        
         
        if(lit.hasNext()==true)
            lit.next() ;        
         
    }
        
    public void setDodaj(Object ob){
         
        ls.addFirst(ob);             
    }
    
    public Object getFrst( ){ 
        
       return ls.getFirst();    
    }
    
    
   public Object obrisiPrvi(){
       
    return ls.removeFirst();   
   }
            
}


E sad ja prvo dodam 4 stringa i onda pozovem iz main f-ju sledeci i on mi javi gresku na
Code:

        lit.next() ;      


greska je sledeca

java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:548)
at java.util.LinkedList$ListItr.next(LinkedList.java:484)
at MislitNaJavi.Kolekcije.StekLifo.sledeci(StekLifo.java:34)
at MislitNaJavi.Kolekcije.MainList.main(MainList.java:33)
Exception in thread "main"


Ako neko zna gde sam pogresio neka mi javi

Hvala
 
Odgovor na temu

Toxter
NS

Član broj: 39393
Poruke: 317
*.ADSL.neobee.net.



+6 Profil

icon Re: Ja ne vidim gresku zna li neko gde je?02.03.2007. u 16:23 - pre 208 meseci
Moras ponovo da "dohvatis" iterator. Znaci ovako:
Code:
public void sledeci(){
  lit = ls.listIterator();

  if(lit.hasNext()==true)
    lit.next() ;        
}

Sad mu nije nista, ubio si ga k'o zeca...
 
Odgovor na temu

radoica

Član broj: 12972
Poruke: 158
*.yubc.net.



+3 Profil

icon Re: Ja ne vidim gresku zna li neko gde je?02.03.2007. u 16:49 - pre 208 meseci
Evo sta pise u dokumentaciji:

The iterators returned by the this class's iterator and listIterator methods are fail-fast: if the list is structurally modified at any time after the iterator is created, in any way except through the Iterator's own remove or add methods, the iterator will throw a ConcurrentModificationException.

U prevodu: Ne smes da menjas listu (dodajes ili uklanjas elemente) POSLE kreiranja iteratora. Samo metodama samog iteratora (add i remove) je to dozvoljeno.

Ti si prvo krairao iterator, a zatim si pozivao metod liste koji dodaje nove elemente (ls.addFirst(ob) u metodu setDodaj(Object ob))
 
Odgovor na temu

voxi

Član broj: 67178
Poruke: 328
*.net
Via: [es] mailing liste



Profil

icon Re: Ja ne vidim gresku zna li neko gde je?02.03.2007. u 19:38 - pre 208 meseci
Hvala drugari na detaljnom i razumnom objasnjenu
 
Odgovor na temu

[es] :: Java :: Ja ne vidim gresku zna li neko gde je?

[ Pregleda: 2754 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.