/** * LinkedListVectorTester: laboratorio VIII * Classe di prova della classe LinkedListVector * Riceve come argomento da riga di comando un numero intero n > 0. * Esegue le seguenti operazioni per prova su una struttura dati di tipo ArrayVector * - prova del metodo add(): inserimento di n elementi di tipo new Integer(k), 0 <= k < n * - prova del metodo size(): invio a standard output del numero di elementi nel contenitore * - prova del metodo get(): ispezione degli elementi di indice i, 0 <= i < n * - prova del metodo contains(): verifica della presenza dell'elemento k con n/2 <= k < 3n/2 * - prova del metodo indexOf(): verifica dell'indice dell'elemento k * - prova del metodo remove(): rimozione di n elementi * - prova del metodo add(index, obj): inserimento di n elementi * - prova del metodo remove(obj): rimozione dell'elemento k, 0 <= k "); return; } int n = 0; try { n = Integer.parseInt(args[0]); } catch (NumberFormatException e) { System.out.println("uso: $java ArrayVectorTester "); return; } if ( n < 1) { System.out.println("n = " + n + " valore non ammesso: valori ammessi n > 1"); return; } MyList v = new LinkedListVector(); MyList reverse = new LinkedListVector(); //Inserimento dati: prova del metodo add() for (int i = 0; i < n; i++) v.add(new Integer(i)); // prova del metodo size() System.out.println("\n*** add() e size(): DATI INSERITI PARI A " + v.size() + "***"); // prova del metodo get() System.out.println("\n*** DATI INSERITI ***"); for (int i = 0; i < v.size(); i++) System.out.println("get(): index = " + i + " " + v.get(i)); // prova del metodo contains System.out.println("\n*** DATI CONTENUTI ***"); for (int i = n / 2; i < (n + n / 2); i++) if (v.contains(new Integer(i))) System.out.println("contains(): " + i + " e' contenuto"); else System.out.println("contains(): " + i + " non e' contenuto"); // prova del metdodo indexOf() System.out.println("\n*** INDICI DEI DATI INSERITI ***"); for (int i = 0; i < v.size(); i++) System.out.println("indexOf(): elemento @" + i + " = " + v.indexOf(new Integer(i))); // prova del metodo remove() System.out.println("\n*** DATI ESTRATTI ***"); int j = 0; while (!v.isEmpty()) { Object obj = v.remove(0); System.out.println("remove(index): elemento all'indice " + j + " " + obj); reverse.add(j, obj); j++; } // prova del metodo add(index, obj) System.out.println("\n*** add(index, obj): DATI INSERITI PARI A " + reverse.size() + "***"); // prova del metodo remove(obj) System.out.println("\n*** DATI ESTRATTI ***"); j = reverse.size() - 1; while (!reverse.isEmpty()) { reverse.remove(new Integer(j)); System.out.println("remove(obj): size = " + reverse.size()); j--; } } }