Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-04-2006, 12:12   #1
lucajeck
Junior Member
 
Iscritto dal: Jan 2006
Messaggi: 21
LISTA ITERABILE?????

Ciao a tutti, un'appello di un'esercizio dice così:
Progettare una interfaccia Lista, iterabile che si ispira a java.util.List cioè abbia e reimplementi tutti i metodi di una linkedlist, add(Object o) add(int index, Object o), addAll(Lista l), clear().....ecc....
Secondo voi "iterabile" significa che a questa interfaccia devo fare implementare a sua volta l'interfaccia iterator o iterable? cioè dovrei fare una cosa del genere?

public interface Lista implements Iterable{
void add(String o);
void add(int index, String o);
void addAll( Lista l);
void clear();
boolean contains(String o);
boolean equals(String o);
Object get(int index);
int indexOf(String o);
boolean isEmpty();
Iterator iterator();
void remove(String o);
void remove(int index);
void set(int index, String o);
int size();
String toString();

}

oppure dovrei addirittura scrivere:

public interface Lista extends Iterable{
...
}


GRAZIE A TUTTI!!:bai
lucajeck è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2006, 12:24   #2
pisto
 
Messaggi: n/a
quando "estendi" un'interfaccia, devi utilizzare extends, non implements (nell'interfaccia non ci possono essere metodi implementati, non avrebbe quindi senso la keyword implements, exteds sì perché aggiundi all'interfaccia madre nuovi metodi)
  Rispondi citando il messaggio o parte di esso
Old 01-04-2006, 12:28   #3
lucajeck
Junior Member
 
Iscritto dal: Jan 2006
Messaggi: 21
Iterator o iterable?

Quote:
Originariamente inviato da pisto
quando "estendi" un'interfaccia, devi utilizzare extends, non implements (nell'interfaccia non ci possono essere metodi implementati, non avrebbe quindi senso la keyword implements, exteds sì perché aggiundi all'interfaccia madre nuovi metodi)

si grazie hai perfettamente ragione, ma secondo te dovrei usare come interfaccia ITERATOR O ITERABLE per rendere una classe lista iterabile?
lucajeck è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2006, 12:54   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Volendo fare le pulci alle parole, la tua lista dovrebbe essere (anche) un Iterator. Così la Lista sarebbe "iterabile". Usando Iterable il contratto direbbe che la Lista è in grado di fornire un Iterator sui suoi elementi. Essendo quest'ultimo un oggetto potenzialmente diverso dalla Lista, la Lista non sarebbe più, a rigore, iterabile.

Badando al concreto, invece, sceglierei Iterable proprio perchè consente la creazione di un iteratore dirverso dalla lista stessa, senza contare il foreach. Il fatto di fornire un Iterator diverso dalla stessa lista consente di usare l'iterabilità in cicli annidati:

Codice:
for(Object a : lista) {
    for(Object b : lista) {
        ...
    }
}
Se la lista fosse Iterator, per una scansione "doppia" come quella qui sopra dovresti creare prima almeno una copia della lista, il che è un po' scomodo.

Credo per questo che l'esercizio intenda dire "la lista deve fornire un iteratore sui propri elementi". Devi quindi dotarla di un metodo "getIterator()". Nel caso in cui tu voglia rendere la lista pane per il foreach, userari Iterable ed un metodo "iterator()".
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2006, 13:01   #5
lucajeck
Junior Member
 
Iscritto dal: Jan 2006
Messaggi: 21
GRAZIE MILLE!!! si credo che tu abbia ragione, mi metto subito a sviluppare il programma.
ciao
lucajeck è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
Identikit della scheda video perfetta, p...
SUV, 100% elettrico e costa meno di un b...
Hai mai caricato un referto su ChatGPT? ...
Apple vuole un nuovo campus nella Silico...
DJI Osmo 360, la nuova action cam a 360&...
Lo strumento anti-requisiti per Windows ...
Utenti di Claude in rivolta: 'I bei vecc...
Rocket Lab Mars Telecommunications Orbit...
NVIDIA GeForce RTX: supporto driver su W...
iliad ha iniziato a vendere smartphone d...
La cinese SatNet ha lanciato un nuovo gr...
Cloud sovrano europeo: a che punto siamo...
The Medium arriverà al cinema gra...
Addio alle faccende domestiche? Il robot...
Fallito il primo lancio del razzo spazia...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:56.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v