View Full Version : [JAVA]Trovare in una lista parole che iniziano per...
Ciao a tutti,
sto sviluppando un'applicazione in jade e ho un problema su una lista.
In pratica io ho una lista di nomi di agenti e vorrei stampare solo gli agenti che iniziano con un determinato nome. Come posso fare?
Ad esempio la lista contiene:
AgentServer@localhost
AgentServer - Clone1@locahost
ams@localhost
df@localhost
Mi servirebbe stampare solo gli agenti che iniziano per AgentServer.
Grazie mille
Gin&&Tonic
01-04-2011, 16:54
Ma la tua lista è una "LinkedList<String>" ?
Se è cosi trasformi ogni stringa in un array di char , e controlli se iniziano con la tua parola.
Veramente jade usa una list normale, io poi me li porto in un vector:
listaagenticcontcarico = (List) results.getItems();
for(int i=0;i<listaagenticcontcarico.size();i++){
vlistaagenticcontcarico.add(listaagenticcontcarico.get(i));
}
Fai una scansione della lista con un ciclo for e usi la funzione String.startsWith():
http://download.oracle.com/javase/6/docs/api/java/lang/String.html#startsWith(java.lang.String)
Non vedo perché convertire la lista in un vettore.
Fai una scansione della lista con un ciclo for e usi la funzione String.startsWith():
http://download.oracle.com/javase/6/docs/api/java/lang/String.html#startsWith(java.lang.String)
Non vedo perché convertire la lista in un vettore.
Ciao allora ho provato a fare cosi:
listaagenticcontscarico = (List) result.getItems();
for(int i=0;i<listaagenticcontscarico.size();i++){
if(listaagenticcontscarico.toString().contains("AgentServer")){
vlistaagenticcontscarico.add(listaagenticcontscarico.get(i));
System.out.println(vlistaagenticcontscarico);
}
}
Ma purtroppo nel vettore vlistaagenti.. (sono costretto ad usarlo perche ho un'applicazione di terze parti che necessita il vettore) vengono inseriti sempre tutti gli agenti.
Dove sbaglio?
Grazie mille
Ciao allora ho provato a fare cosi:
listaagenticcontscarico = (List) result.getItems();
for(int i=0;i<listaagenticcontscarico.size();i++)
{
if(listaagenticcontscarico.toString().contains("AgentServer"))
{
vlistaagenticcontscarico.add(listaagenticcontscarico.get(i));
System.out.println(vlistaagenticcontscarico);
}
}
Ma purtroppo nel vettore vlistaagenti.. (sono costretto ad usarlo perche ho un'applicazione di terze parti che necessita il vettore) vengono inseriti sempre tutti gli agenti.
Dove sbaglio?
Grazie mille
La parte rossa in grassetto è sbagliata proprio concettualmente.
Ricapitolando:
- Hai una lista di stringhe
- Devi scorrerla una stringa per volta
- Per ognuna delle stringhe nella lista devi fare quel controllo
Ti do un altro consiglio: usa nomi di variabili più corte e leggibili.
Altra cosa, result.getItems() cosa ritorna? Se ritorna una lista non c'è bisogno di fare alcun cast.
clockover
03-04-2011, 00:57
Voglio dirti una cosa anche io... dopo che hai sistemato dove ti ha detto WarDuck, effettua il ciclo usando un iteratore... 2 operazioni di get per ogni ciclata rallenta un casino. Intanto però modifica il codice come ti è stato già detto
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.