|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2016
Messaggi: 1
|
Problema HashMap e ArrayList
Salve a tutti,
premetto che ho iniziato a programmare da poco e non penso di essere tanto buono vorrei sapere se qualcuno mi può aiutare ho questo file da leggere " NOME: Marco VALORI: 1,2,3,4,5,6 NOME: Matteo VALORI: 4,5,5,6,7,2 NOME: Marco VALORI: 1,2,1 " Codice:
public class ListaVettori {
HashMap<String,Vettore> h;
public ListaVettori(){
h = new HashMap<String,Vettore>();
}
public void LeggiFile(String file){
try{
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while((line = br.readLine())!= null){
String nome;
Vettore v;
if(line.contains("NOME: ")){
line = line.replaceAll("NOME: ", "");
nome = line;
v = h.get(nome);
if(v == null){
v = new Vettore(nome);
h.put(nome, v);
if(v.ripetizioni(nome)==1)
System.out.println(nome);
}
line = br.readLine();
if(line.contains("VALORI: ")){
line = line.replaceAll("VALORI: ", "");
String el[] = line.split(",");
for(String k : el)
v.add(k);
}
}
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
}
e non riesco a svolgere alcuni punti richiesti quali: 1. Stampare tutti i vettori che iniziano con un numero dispari 2. Stampare i vettori palindromi (cioè che letti in un senso o nell’altro, restano uguali – es., 1,2,1) so che il primo è molto facile ma il mio problema è che, usando gli hasmap automaticamente mi associa al nome marco un unico vettore [1,2,3,4,5,6,1,2,1] mentre io vorrei che fossero staccati i due vettori molto probabilmente è una cosa facile vi prego se mi potete dare una mano grazie! Ultima modifica di !fazz : 07-06-2016 alle 11:29. Motivo: aggiunta tag code |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2008
Messaggi: 364
|
Be', è sbagliata la struttura dati: invece di HashMap<String,Vettore> devi usare Map<String, List<Vettore>>. Un consiglio: se non ci sono motivi particolari, meglio usare l'interfaccia nella dichiarazione della tua variabile o membro di classe e la concreta implementazione quando la istanzi.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:25.



















