2016-12-10 3 views
-1

У меня есть код, похожий на приведенный ниже код.Java - как удерживать и добавлять выходные данные каждой итерации для цикла вместе - сохранить в HashMap

Я хочу напечатать все выходные итерации вместе, а не отдельно.

Есть ли кто-нибудь здесь, чтобы помочь мне с этим?

HashMap<String, String> myHashMap = new HashMap <String, String>(); 

for (int j = 0; j < x.length(); j++) 

    int firstElement = 0; 
    int secondElement = 1; 
    if (myArray.length() > 0) { 

     String first = myArray.get(firstElement).toString(); 
     String last = myArray.get(secondElement).toString(); 
     //System.out.println(first + " --> " + last); 

     boolean a = Info.contains("xxx"); 
     boolean b = Info.contains("yyy"); 

     if(a || b) { 
      //System.out.println(first + " --> " + last); 

      count++; 
      myHashMap.put(first, last);        
      System.out.println(count + "\t" + first); 
      total = total + " " + first; 
      } 
     } 
    } 

Здесь я могу распечатать выходные данные для каждой итерации.

Но мне нужно распечатать все вместе. Есть ли способ сохранить их в HashMap и распечатать их все вместе?

+0

Что такое информация? Вы можете использовать StringBuilder для добавления вывода к нему после завершения печати цикла. – Nurjan

ответ

0

Предполагая, что ваш код работает правильно, это один из возможных способов:

StringBuilder sb = new StringBuilder(); // Defined outside of the for loop 

... 

if(a || b) { 
    //System.out.println(first + " --> " + last); 

    count++; 
    myHashMap.put(first, last);        
    System.out.println(count + "\t" + first); 
    total = total + " " + first; 
    sb.append(count).append("\t").append(first).append("\n"); 

} 

... 

System.out.println(sb.toString()); // Print out the output after the for loop.