我正在使用用户定义的 arrayList 并从settergetter
类添加元素,并且有2个场景
nam []和em []是已经声明并且其中包含值的数组
for(int i=0;i<2;i++)
{
settergetter sg = new settergetter();
sg.setName(nam[i]);
sg.setEmail(em[i]);
a1.add(sg);
}
在这种情况下,当我迭代我得到正确的ans,因为我想..即第一个元素,然后第二个等等
在这种情况下,我创建了2个settergetter类对象并将其添加到arraylist
settergetter sg = new settergetter();
sg.setName("amol");
sg.setEmail("amol@9372");
a1.add(sg);
settergetter sg1 = new settergetter();
sg.setName("robin");
sg.setEmail("robin@9372");
a1.add(sg1);
在这种情况下,我得到的只是最后添加的对象即知更鸟
在我创建类
的不同实例的两种情况下我正在使用迭代器:
Iterator itr=a1.iterator();
while(itr.hasNext())
{
settergetter element = (settergetter) itr.next();
System.out.println(element.getName());
System.out.println(element.getEmail());
}
答案 0 :(得分:1)
如果仔细查看,您仍然设置为sg
,实际上您将第二个实例命名为sg1
。设置为sg1
实例,它可以正常工作。
settergetter sg1 = new settergetter();
sg.setName("robin");
sg.setEmail("robin@9372");
a1.add(sg1);
那应该是
settergetter sg1 = new settergetter();
sg1.setName("robin"); // here
sg1.setEmail("robin@9372"); // here
a1.add(sg1);