Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [JAVA]iterare una LinkedList<String> contenuta in una LinkedList<LinkedList>

    Salve a tutti, avrei bisogno di un suggerimento!!!

    ho una LinkedList<LinkedList> dove ognuna di essa contiene liuna LinkedList<String> nella classe Nomi...
    codice:
    public class Nomi{
    
    public static LinkedList<String> aggiungi(){
    
    LinkedList<String> listaNomi = new LinkedList<String>();
    listaNomi.add("Giovanni");
    listaNomi.add("Roberto");
    listaNomi.add("Mauro");
    return listaNomi;
    }
    
    }

    codice:
    .....
    LinkedList<LinkedList> lista = new LinkedList<LinkedList>();
    for (int a = 0; a<10; a++){
    lista.add(new Nomi.aggiungi());
    
    
    }
    ....
    ... avrei bisogno di un risultato del genere...

    Lista 1: Giovanni
    Roberto
    Mauro

    Lista 2: Giovanni
    Roberto
    Mauro

    ecc ecc...
    mi sono fermato qui!!!

    codice:
    ....
    for(int cont =1; cont<=lista.size(); cont++){
    System.out.println("Lista " + cont + ": ");
     :confused:  :confused:  :confused:  :confused: 
    }
    come fare per iterare la LinkedList<String> contenuta nella LinkedList<LinkedList>
    Un ringraziamento a coloro che mi daranno una mano!!!!

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Abbozzo..

    X = lista di liste
    Y = generica lista di stringhe inserita in X

    Codice PHP:
    for ( i=0 to X.size )
    {
      
    X.get(i);
      for (
    j=0 to Y.size)
      {
        
    String str Y.get(j);
        print (
    str);
      }

    P.S.: mai usata una LinkedList
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Ci sono almeno tre diversi modi per iterare quella lista. Per prima cosa tipizza correttamente la lista di nomi in questo modo:
    codice:
    LinkedList<LinkedList<String>> lista = new LinkedList<LinkedList<String>>();
    Primo metodo for each
    codice:
    int i = 1;
    for (LinkedList<String> linkedList : lista)
    {
       System.out.println("Lista " + i);
       for (String nome : linkedList)
      {
          System.out.println(nome);
      }
    i++;
    }
    Secondo metodo ciclo for classico :
    codice:
    for (int count = 0, index = 1; count < lista.size(); count++, index++)
    {
      LinkedList<String> listaNomi = lista.get(count);
      System.out.println("Lista " + index);
      for (int c = 0; c < listaNomi.size(); c++)
      {
         System.out.println(listaNomi.get(c));
      }
    }
    Terzo metodo iteratore :
    codice:
    Iterator<LinkedList<String>> firstIterator = lista.iterator();
    int counter = 1;
    while (firstIterator.hasNext())
    {
      System.out.println("Lista " + counter);
      LinkedList<String> linkedListNomi = firstIterator.next();
      Iterator<String> secondIterator = linkedListNomi.iterator();
      while (secondIterator.hasNext())
      {
         String nome = secondIterator.next();
         System.out.println(nome);
      }
    counter++;
    }
    Da preferire sicuramente la prima o l'ultima implementazione.
    Ciao

  4. #4
    Originariamente inviato da francesco.muia
    Da preferire sicuramente la prima o l'ultima implementazione.
    In questo caso sono la stessa e identica cosa, in quanto la prima significa
    codice:
    for ( Iterator<LinkedList<String>> linkedList = lista.iterator(); linkedList.hasNext();  ) {
         ...
    }

  5. #5
    grazie... ora tutto chiaro!!!!!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.