Visualizzazione dei risultati da 1 a 4 su 4

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    2

    Implementazione set generico senza duplicati (era: Un piccolo aiuto informatico per favore..?)

    Ciao a tutti avrei un piccolo favore da chiedervi..

    Questa la consegna "Si richiede di progettare, realizzare e documentare il tipo di dato astratto ElasticSet<E>. ElasticSet è una collezione di oggetti omogenei generici in cui non sono presenti elementi duplicati. L'astrazione ElasticSet<E>, oltre ai metodi standard di Set<E> quali boolean add(E e), boolean remove(E e) boolean contains(E e) e boolean isEmpty(), include i metodi descritti dalla seguente tabella" [...]

    A parte i vari metodi che devo implementare, il mio dubbio è come fare l'implementazione del tipo stesso.

    Io ho fatto come segue, ma non ho ben capito che valori può assumere il tipo generico E, poiché devo fare poi metodi che ad esempio restituiscono l'elemento massimo, ma non mi permette di applicare gli operatori > e < (sono nuovo nel mondo di Java, e una volta capite certe cose credo riuscirò ad implementare i vari metodi senza troppi problemi).
    codice:
    public abstract class ElasticSet<E> implements Set<E>{ 
    
    // OVERVIEW: ElasticSet è una collezione di oggetti omogenei 
    // generici in cui non sono presenti elementi duplicati. 
    private Vector<E> elastic;   //è giusto usare Vector o meglio ArrayList? 
    
    //costruttori 
    
    public ElasticSet() 
    { 
        //EFFECTS: inizializza this alla collezione vuota. 
        elastic = new Vector<E>(); 
    }
    Quando mi chiede ad esempio di implementare glb(E e) /* Restituisce il più grande elemento della collezione che è minore o uguale all'elemento e, e null se tale elemento non esiste */

    io ho iniziato scrivendo questo, ma ovviamente non va perché non posso usare il "< e >" su <E>.
    codice:
    public E glb(E e)
    {
        //EFFECTS: (e=null) solleva NullPointerException, altrimenti restituisce il più grande
        //della collezione che è minore o uguale all'elemento e (greatest lower bound).
        //Se tale elemento non esiste, restituisce null.
    
        if(e==null) throw new NullPointerException("La collezione non esiste");
        int max = 0;
        for(int i =0; i<elastic.size(); i++)
        {
            if((elastic.get(i)> max)&&(elastic.get(i)<=e))
                max = elastic.get(i);
    Ultima modifica di MItaly; 10-11-2015 a 22:23 Motivo: Tag CODE & co., sezione errata, titolo

Tag per questa discussione

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 © 2025 vBulletin Solutions, Inc. All rights reserved.