Originariamente inviato da Darčios89
se inserisco nelle liste un oggetto di tipo int[] ci potrebbero essere problemi con il TIPO dato che la classe LinkedList ha nodi di tipo Node mentre il mio oggetto č un array di int?
Visto che da quanto hai detto, la lista linkata la devi implementare tu, allora vediamo le cose in questa ottica. Lo scopo e il significato di un oggetto "Node" all'interno di una lista linkata dovrebbe essere quello di mantenere al suo interno principalmente 2 (almeno) informazioni: un riferimento al "vero" oggetto che č il elemento i-esimo nella lista (che potresti anche vedere nel modo pių generico come Object) e un "qualcosa" che permetta di "puntare" al successivo Node, se esiste. E quest'ultimo ovviamente č appunto un reference di tipo .... Node.

Pertanto, qui parlo pių in generale, non confondere gli oggetti "elementi" della lista e gli (eventuali) oggetti interni alla collezione che servono a modellare e gestire la sua struttura dati. Sono due cose distinte.

Originariamente inviato da Darčios89
Altra cosa pių grave, mi confondo un pō sulle interfacce, nell' esercizio bisogna implementarne due: Node e LinkedList.
Ora avrei pensato che deve essere la classe Tripla ad utilizzarle e a ridefinire i metodi.
Ma non capisco come si fa. Le interfacce contengono solo intestazioni di metodi.
Quindi per fare funzionare la lista devo creare la variabile testa, coda, il costruttore.
Come faccio nella classe Tripla? Posso scrivere il tutto lė e usare i costruttori delle altre classi per definire la testa la coda eccetera?
No, qui c'č ancora pių confusione.
Innanzitutto bisognerebbe vedere come deve essere gestita la lista nei confronti degli oggetti Node. Cioč vedere se chi usa poi la implementazione di quella lista deve "sapere" dei Node e trattarli in qualche modo (crearli, ecc...) oppure no.

Tipicamente sarebbe meglio di no. Prendiamo come esempio proprio la collezione standard java.util.LinkedList. Essa č appunto una lista "linkata" e usa internamente degli oggetti Entry (che a parte il nome sarebbero praticamente i tuoi Node).
Ebbene, l'uso di queste Entry č totalmente nascosto, dall'esterno non si vede nulla.
La classe Entry tra l'altro č una nested-class oltretutto privata dentro LinkedList:

codice:
public class LinkedList<E> ...... {
    ......

    private static class Entry<E> {
        E element;
        Entry<E> next;
        Entry<E> previous;
  .......
E in java.util.LinkedList non c'č alcun metodo che permetta di "sapere" alcunché sulle Entry (né aggiungerle, ottenerle, cambiarle direttamente ecc...). LinkedList offre solo i metodi per gestire gli oggetti "elementi" della lista mentre tutto ciō che č la gestione dei nodi (crearli, "incatenarli" tra di loro, ecc...) č un affare interno a LinkedList.

Nel tuo caso deve essere cosė?? Non č detto che deve sempre essere cosė. Questo č un approccio estremo che consente di "incapsulare" tutto ciō che č possibile. Ma si potrebbe anche permettere agli utilizzatori della lista di gestire in qualche modo i nodi. E qui bisogna appunto solo stabilire cosa e come dovrebbe essere permesso di gestire i nodi.

Fino ad adesso hai solo parlato di 2 interfacce Node e LinkedList ma senza dire molto di pių. Hai giā le informazioni su quali metodi esatti devono dichiarare? Se li hai, postali. Cosė si puō vedere cosa deve essere possibile e quali sono le relazioni tra i due tipi.