Следующая программа, которую я написал в java для печати ArrayList, но когда я печатаю список массивов, я получаю одну и ту же карту, напечатанную снова и снова. должен ли я попытаться использовать другой тип данных для его печати. Если я не найду подходящего метода, я буду использовать класс POJO.Печать ArrayList <HashMap>
import java.util.HashMap;
import java.util.ArrayList;
public class HelloWorld{
public static void main(String []args){
ArrayList<String> nlist = new ArrayList<String>();
ArrayList<String> alist = new ArrayList<String>();
nlist.add("Mich");
nlist.add("Aud");
alist.add("22");
alist.add("20");
HashMap<String,String> response = new HashMap<String,String>();
ArrayList<HashMap<String,String>> responseList = new ArrayList<HashMap<String,String>>();
for(int i=0; i< nlist.size(); i++){
response.put("Name",nlist.get(i));
response.put("Age",alist.get(i));
responseList.add(response);
}
System.out.println("Result="+responseList);
}
}
ВЫХОД:
Result=[{Age=20 , Name=Aud},{Age=20 , Name=Aud}]
Вы только вызываете 'println()' один раз, поэтому я не вижу, как вы получаете что-либо напечатанное снова и снова. " Вы можете уточнить свой вопрос? –
Вы добавляете один и тот же экземпляр 'HashMap' несколько раз в свой список. Переместите 'HashMap response = new HashMap ();' в ваш цикл. –
Eran
Такой вопрос возникает так часто, что для него должен быть какой-то канонический ответ. – shmosel