public class ListDemo {
public static void main(String[] args) {
List<User> users1=new ArrayList<>();
User u1=new User("aaa","bbb");
User u2=new User("ccc","dddd");
User u3=new User("ddddd","eeeee");
users1.add(u1);
users1.add(u2);
users1.add(u3);
System.out.println(users1);
for (User user:users1) {
System.out.println(user.sex+" "+user.name);
}
//根据下标去找
System.out.println(users1.get(1).getSex());
//找到U1对象
System.out.println(users1.indexOf(u1));
ListIterator it= users1.listIterator();
while (it.hasNext()){
User test= (User) it.next();
if (test.getName().equals("aaa")){
User u4=new User("qqq","www");
it.add(u4);
返回列表中的前一个元素,并向后移动光标位置。
it.previous();
}
System.out.println(test.getSex()+" "+test.getName());
}
/* for (User user:users1) {
System.out.println(user.sex+" "+user.name);
}*/
}
}
it.add(u4);
直接打印users1,是不会展示u4的,因为指针是会指向u2;,u4会在u1后面,所以会跳过u4
u1,u4,u2,u3
返回列表中的前一个元素,并向后移动光标位置。
it.previous();
listiterator.add()方法会把新元素添加到listiterator当前所指位置的左边,listiterator.next()不鸟这个新来的不鸟他(不管正向还是反向都不管 previous()可以联系它,安慰它的小心心 )