Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568

    Problemi esercizio

    Los corso appello di esame non capii una cosa: chiedeva un iteratore a un lista di oggetti definito come oggetti <T>. Non ho capito questo oggetto come si definisca e l'iteratore.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Magari usando titoli che siano conformi al Regolamento (che ti invito a leggere)...

    Correggo io.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problemi esercizio

    Originariamente inviato da AR64S-H
    Los corso appello di esame non capii una cosa: chiedeva un iteratore a un lista di oggetti definito come oggetti <T>. Non ho capito questo oggetto come si definisca e l'iteratore.
    Ma una lista implementata da te? Perché nelle classi del "collections framework" di Java l'iteratore è già implementato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Lìesercizio se non ricordo male chiedeva di creare un metoto iteratore che prendesse una variabile booleana e iterasse su <T>. Se la boleana era true iterava col normale iterator() altrimenti doveva interare all'inverso. Ma comunque continuo a non capire il tipo <T> e come fare questa lista

  5. #5
    iterator<T> sarebbe come se fosse Iteretor<String> la T corrisponde al Tipo: String integer ecc.

  6. #6
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    ecco quello ke vorrei capire e come lo devo usare. Nel senso se io faccio una semplice List va bene ma qui lo devo usare su una Lista Linkata creata tramite listnode, oltre a creare listaastratta che da i metodi. Ora io non riesco a creare una lista a questo oggetto creando una lista linkata con un iteratore simile

  7. #7
    ecco come funziona

    List<String> l = new LinkedList<String>();
    l.add(0, "ciao");
    l.add(1, "C");
    Iterator i = l.iterator();
    while(i.hasNext()) {
    String s = (String) i.next();//devi castare a string
    System.out.println(s);
    }

    //invece
    Iterator<String> j = l.iterator(); // la lista restituisce un Iterator<String>
    while(j.hasNext()) {
    String a = j.next(); // Non è necessario ricorrere al casting
    System.out.println(a);

  8. #8
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Scusa mi sonospiegato male. Lo so come funziona l'iterator. Quello che chiedeva l'esercizio era creare una classe astratta listaastratta che contegna i metodi da implementare in lista linkata (che deve essere una lista di oggetti <T> creata attraverso nodi che abbiano sia il prec che il succ puntatore. E tramite lista linkata creare un metodo iteratore che riceve un booleano

    iterator(boolean b){} che se prende true restituisce iterator() altrimenti deve iterare la lista all'inverso.

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Ecco una "mia" implementazione di una lista linkata con tanto di iteratore, che non ha nulla a che vedere con le altre collezioni del "collections framework" di Java.

    Come tale ovviamente la "mia" lista è altamente inferiore a quelle che si trovano nel framework: non è completa (per brevità ho messo solo add() ), non ho preso in considerazione l'accesso concorrente, non implementa List<E> o Collection<E> (quindi non è utilizzabile insieme al resto del framework) e l'iteratore che ho realizzato non è nemmeno Fail-Fast.

    Pertanto faccio notare che la "mia" lista è da vedere solamente come un esempio banale/basilare su come gestire una lista linkata e un iteratore!!

    codice:
    import java.util.*;
    
    public class TestLista
    {
        public static void main (String[] args)
        {
            MiaLista<String> list = new MiaLista<String> ();
    
            list.add ("prova");
            list.add ("di");
            list.add ("una");
            list.add ("lista");
    
            for (String s : list)
                System.out.println (s);
        }
    }
    
    
    class MiaLista<E> implements Iterable<E>
    {
        private Nodo<E> head;
        private Nodo<E> tail;
    
        public void add (E e)
        {
            Nodo<E> n = new Nodo<E> (e);
    
            if (tail != null)
                tail = tail.next = n;
            else
                head = tail = n;
        }
    
        public Iterator<E> iterator ()
        {
            return new Iterator<E> ()
            {
                private Nodo<E> node = head;
    
                public boolean hasNext ()
                {
                    return node != null;
                }
    
                public E next ()
                {
                    if (node != null)
                    {
                        E ret = node.element;
                        node = node.next;
                        return ret;
                    }
                    else
                        throw new NoSuchElementException ();   // = nessun elemento
                }
    
                public void remove ()
                {
                    throw new UnsupportedOperationException ();   // = non supportato
                }
            };
        }
    
    
        private static class Nodo<T>
        {
            private T element;
            private Nodo<T> next;
    
            public Nodo (T element)
            {
                this.element = element;
            }
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Capito sei fantastico grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.