Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: Confronto Stringhe

  1. #1

    Confronto Stringhe

    Dovrei effettuare un confronto fra stringhe, o meglio fra una parte di una stringa ed una stringa completa.

    Ho delle stringhe composte e dovrei verificare che la prima parte non sia presente.
    Le stringhe sono del tipo "bruco-mela" e dovrei verificare che ci sia solo "bruco-". Solo che oltre al metodo equals non ne trovo altri per verificare che solo la prima parte sia uguale. Qualche suggerimento.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    C'è il metodo startWith(string) della classe String, e in generale per le stringhe ti conviene guardare questo:

    http://download-llnw.oracle.com/javase/1.4.2/docs/api/

    cerca la classe String, lì ci sono tutti i metodi che ti servono!

  3. #3
    Grazie. Ora avrei un'altra domanda da fare. In pratica ho un arraylist fatto di stringhe ed ho bisogno di contare i duplicati e stampare il numero di volte in cui una stringa si ripete. Quali metodi potrei usare???

  4. #4
    Nessun metodo!
    Iteri la lista e fai le dovute operazioni.

    Ti consiglio l'uso di uno tra i metodi per confrontare stringhe (a seconda delle tue esigenze) della classe String.

  5. #5
    Non so se esista un metodo apposito. Per il momento mi sono inventato questo:

    codice:
    public void countDuplicate(ArrayList<String> list) {
    	HashMap<String, Integer> map = new HashMap<String, Integer>();
    	Iterator<String> i = list.iterator();
    	while (i.hasNext()) {
    		String str = i.next();
    		if (map.containsKey(str)) {
    			map.put(str, new Integer(map.get(str).intValue() + 1));
    		} else {
    			map.put(str, new Integer(1));
    		}
    	}
    	System.out.println(map);
    }
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Ti ringrazio mi è stata molto utile

  7. #7
    Ora però usando un HashMap ho un problema di ordinamento, ovvero dovrei ordinare le parole, da quella che si presenta di piu a quella che si presenta meno. Come potrei fare?? Per l'HashMap se non erro non esistono metodi di ordinamento.

  8. #8
    Penso che potresti provare a fare una cosa del genere!

    codice:
    import java.util.HashMap;
    import java.util.Collection;
    import java.util.Arrays;
    import java.util.Iterator;
    
    public class Prova {
        
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // TODO code application logic here
            HashMap<String, Integer> hm = new HashMap<String, Integer>();
            hm.put("cinque", 5);
            hm.put("tre", 3);
            hm.put("otto", 8);
            hm.put("uno", 1);
            
            Object[] values = hm.values().toArray();
            Arrays.sort(values);
            
            for(int i=0; i<values.length; i++){
            	Iterator it = hm.keySet().iterator();
            	while(it.hasNext()){
            		String k = (String)it.next();
            		if((Integer)hm.get(k) == values[i] )
            		System.out.println(k + " " + (Integer)values[i]);
            	}
            }
        }
    }

  9. #9
    Ci sono due problemi sull'ultimo metodo. Il primo è che l'ordine in cui vengono stampati è crescente mentre a me servirebbe decrescente. Il secondo è che stampando su console gli elementi vengono ordinati correttamente in ordine crescente mentre a me servirebbe reinserirli in un altro hash map perché dovrei stamparli su file xml, e provando a reinserirli sostituendo l'istruzione di system.out con quella di inserimento dei valori in un altro hashmap, mi ritrovo che i valori vengono ordinati ma a casaccio anche applicando il medesimo metodo che però su console stampava i valori ordinati. Da cosa può dipendere e come posso risolvere questo ordinamento di elementi all'interno dell'hash map?

  10. #10
    Scannerizza l'array dei valori al contrario!!
    E fai la scrittura nel file xml.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.