|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2007
Città: Monopoli(BA)
Messaggi: 218
|
[JAVA] Array dinamici
Ciao raga x una esercitazione scolastica il prof ci ha raccomandato di usare degli array dinamici (vettori dinamici se preferite chiamarli così)...solo che sul maledetto libro che tengo nn sono nemmeno nominati....mi potreste illuminare sulla dichiarazioe e sull'uso di essi???
__________________
NOSTRAVIS PRO CLASSEM - GrupAer - |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Es.: ArrayList<String> arr = new ArrayList<String> (); arr.add ("ciao"); arr.add ("prova");
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
visto che è una esercitazione scolastica posso supporre che per array dinamici intende proprio array e non strutture dati già definite nelle librerie java, quindi niente ArrayList ne Vector e simili.
In questo caso allora devi semplicemente dichiarare un array lungo, che ne so, diciamo 20...poi ogni volta che inserisci o rimuovi un elemento vedi se è il caso di ridimensionare l'array stesso!!! questo vuol dire dichiarare un nuovo array, + piccolo se hai rimosso, + grande se stai aggiungendo, e copiarci dentro tutti i dati che avevi nell'array di partenza! qui c'è un esempio di array dinamici. spero di esserti stato di aiuto....ciao
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Oct 2007
Città: Monopoli(BA)
Messaggi: 218
|
Praticamente stiamo facendo dei vettori di record...perciò mi servirebbe non dichiarare un vettore di una grandezza definita ma indefinita, in modo ke se mi servisse aggiungere un nuovo record, il vettore si autoaggiunga una cella da riempire.
Il prof ha detto ke si può...
__________________
NOSTRAVIS PRO CLASSEM - GrupAer - |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Sì che si può ma la questione è un'altra: devi implementare e gestire tu un "array dinamico" (e in tal caso segui le indicazioni di Oceans11) o devi semplicemente usare qualcosa che esiste già come appunto le classi che ho menzionato io??
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Oct 2007
Città: Monopoli(BA)
Messaggi: 218
|
devo usare un vettore dinamico di record....cioè ogni songola cella del vettore sarà caratterizzata da quello ke specificherò io in una classe scritta da me
__________________
NOSTRAVIS PRO CLASSEM - GrupAer - |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
O devi semplicemente usare qualcosa di già fatto? Come appunto ad esempio ArrayList non dovendo preoccuparti di come funziona internamente?
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Oct 2007
Città: Monopoli(BA)
Messaggi: 218
|
no devo scrivere io qnd ingrandirlo ...ridurlo...visto ke devo creare una gestione dei cd di una casa discografica...quindi mi kiede di poter eliminare un cd o un brano...quindi eliminare cele del vettore...perciò deve essere comandato ttt da me
__________________
NOSTRAVIS PRO CLASSEM - GrupAer - |
|
|
|
|
|
#9 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
se ti serve di decidere la dimensione esatta dell'array, ArrayList e Vector ti permettono di lavorare sulla capacità tramite i metodi trimToSize ed ensureCapacity.
Quote:
se invece il prof ti ha detto specificamente di riprogrammare una classe che implementi la gestione di un array dinamico allora mi sembra un esercizio un po' idiota |
|
|
|
|
|
|
#10 |
|
Bannato
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
|
Ciao,
mi unisco alla richiesta di Mirco.... stiamo nella stessa barca (ops... classe Stavolta ci ha chiesto di ricercare gli array dinamici, vettori che, a sue parole, possono essere ridimensionati (ingranditi o rimpiccioliti, mi riferisco al numero di celle) a seconda se si aggiungono o si cancellano dati in essi contenuti. Quindi non più il classico, ad esempio, vettore statico del tipo int vet=new int[10], bensì un vettore che dinamicamente modifichi la sua dimensione Usate un linguaggio facile, a basso livello (NON l'Assembly, eh? |
|
|
|
|
|
#11 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
e cosa c'è che non va nell'esempio del post #2?
|
|
|
|
|
|
#12 |
|
Bannato
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
|
Il prof ha detto che è possibile creare vettori dinamici che automaticamente si "ingrandiscono" quando si inserisce un nuovo elemento che normalmente, con i vettori statici, tradizionali, darebbe errore del tipo Index out of bounds.
|
|
|
|
|
|
#13 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
mi pare che non c'entri nulla con l'esempio del post #2...
|
|
|
|
|
|
#14 |
|
Bannato
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
|
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2781
|
Gli ArrayList non lo so ma i Vector si espandono automaticamente.
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1232
|
Ricapitolando le cose sono due :
- Usare Array dinamici di libreria , ArrayList e Vector - Creare un array statico e ogni tot o quando l'array si riempie , andare a dichiarare un nuovo array , disolito con la dimensione doppia del precedente , e ricopiare tutti gli elementi. Credo che a voi serve il secondo modo , anche se è inutili , ma è utile per capire il funzionamento degli Array dinamici . A suo tempo (3° anno di itis ) anche io ho dovuto realizzare una cosa del genere in C .
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni |
|
|
|
|
|
#17 |
|
Member
Iscritto dal: Oct 2007
Città: Monopoli(BA)
Messaggi: 218
|
Io invece penso alla prima...noi siamo del 4° e purtroppo siamo un pò indietro cn il programma
Non sò...+ semplice di così nn sò come spiegarlo
__________________
NOSTRAVIS PRO CLASSEM - GrupAer - |
|
|
|
|
|
#18 |
|
Bannato
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
|
Mi sa che Cuccinelli abbia gaffato ancora... la faccenda dell'array dinamico è più complicata del previsto
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Jun 2007
Messaggi: 1232
|
Quote:
__________________
Cpu: Amd 64 X2 5200+ - Mobo:M2N32SLI DELUXE - Ram: Corsair xms2 800 mhz kit 4gb - SK Video: Gaiward GTS250 - Ali : Enermax Liberty 500 Wat - Mast DVD: 2 Nec AD-5170A - Case : Thermaltake Armor+ - Dissipatore: Thermaltake V1 Notebook: Sony Vaio VGN-Fe21M-Pda: Htc Diamond |Il mio sito|Flickr| Stanco del solito forum? Vieni a parlare di fotografia su Fotoni |
|
|
|
|
|
|
#20 |
|
Member
Iscritto dal: Oct 2007
Città: Monopoli(BA)
Messaggi: 218
|
lui ha parlato anche di "liste" o qualcosa del genere...forse esistono dei costrutti o qualcosa in cui possiamo gestire molti dati a nostro piacimento???
__________________
NOSTRAVIS PRO CLASSEM - GrupAer - |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:56.




















