/* Scrivere il codice di una classe java che permetta di * memorizzare stringhe. La classe dovrà implementare una * funzione per memorizzare la generica stringa e una funzione * che permetta di verificare l'avvenuto inserimento di una * particolare stringa restituendo -1 se la stringa non è mai * stata inserita o un numero intero positivo, relativo all' * ordine di inserimento, se la stringa è stata effettivamente * inserita. */ import java.util.*; public class Esercizio3_160608 { public static void main(String[] args) { esercizio3 esercizio = new esercizio3(); // inizializziamo l'oggetto System.out.println( "Inserisco:\n" + "ciccio\n" + "ciccio\n" + "ciccio2\n" + "ciccio3\n" + "ciccio\n"); // inseriamo i valori esercizio.insert("ciccio"); esercizio.insert("ciccio"); esercizio.insert("ciccio2"); esercizio.insert("ciccio3"); esercizio.insert("ciccio"); // visualiziamo i valori inseriti System.out.println(esercizio.mappa); // testiamo la funziona check System.out.println(esercizio.check("tyht")); System.out.println(esercizio.check("ciccio")); } } class esercizio3 { public TreeMap mappa; // mappa public int value; public esercizio3() // costruttore { mappa = new TreeMap(); value = 1; // ci servirà per stabilire l'ordine di inserimento } public void insert(String key) { // System.out.println(value); mappa.put(key,value++); // inseriamo la key passata come argomento ed assegnamoci // , come valore, l'ordine di inserimento stabilito dalla // variabile value. Ad ogni inserimento aumentiamo il valoire // di value grazie a value++ . } public int check(String stringa) { if ( this.mappa.containsKey(stringa) ) // se è presente { return this.mappa.get(stringa); // visualizziamo il valore dell'ordinamento } else // altrimenti ritorniamo -1 . return -1; } }