java中使用枚举器遍历的一个小问题。
发布网友
发布时间:2022-04-22 13:05
我来回答
共3个回答
热心网友
时间:2023-09-25 16:34
第一个问题:
可以简单点理解为it.hasnext())是判断it迭代器是否还有下一个元素,只是一个判断,而没有将它指向it的下一个元素,当it.next()时才真正的指向下一个元素,也可以把it理解为一个数组让你更容易接受吧..
第二个问题:
//接口 对像变量 = new一个接口的实现类
List a=new LinkedList ();
java.util
接口 List<E>
所有超级接口:
Collection<E>, Iterable<E>
所有已知实现类:
AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack, Vector 由JDK可看到:
接口inputStream有很多子接口和实现类
上面的代码体现了编程面向接口的思想,这种思想能降低代码的耦合性,
List a= null;
a = new LinkedList ();
a =new ArrayList;
上面代码可以看出,你定义一个List变量a,就可以用这个变量记录它产生的实现类
热心网友
时间:2023-09-25 16:34
(1)hasnext()只判断有没有下一个,并不挪动游标;
next()才挪动游标.
同时刚开始游标指在第一个元素之前
(2)java编程的一个重要原则是“面向抽象编程”。List是个接口,LinkedList是个具体类。静态类型尽可能抽象,好处是一旦你不想用LinkedList,而改用ArraList什么的,只要改=new LinkedList ();这块,其他地方不受影响。
热心网友
时间:2023-09-25 16:35
iterator最开始是指向第一个结果之前的
第二个问题需要你补充下面向对象的相关知识,一言两语讲不清楚