欢迎光临散文网 会员登陆 & 注册

知了堂Java | Java基础面试题(六)

2021-11-15 14:05 作者:汇智知了堂  | 我要投稿

20.Iterator 怎么使用?有什么特点

Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第 一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。 (2) 使用next()获得序列中的下一个元素。 (3) 使用hasNext()检查序列中是否还有元素。 (4) 使用remove()将迭代器新返回的元素删除。 Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历 List,也可以从List中插入和删除元素

21.Iterator ListIterator 有什么区别 

Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。 Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。 ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和 后一个元素的索引等等

22.线程有哪些状态 

线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。 创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态。 就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程 序还没有把该线程设置为当前线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来 之后,也会处于就绪状态。 运行状态。线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开 始运行run函数当中的代码。阻塞状态。线程正在运行的时候,被暂停,通常是为了等待某个时间的发生(比如说某项资源就绪) 之后再继续运行。sleep,suspend,wait等方法都可以导致线程阻塞。 死亡状态。如果一个线程的run方法执行结束或者调用stop方法后,该线程就会死亡。对于已经死 亡的线程,无法再使用start方法令其进入就绪。

今日分享就到这拉。请持续关注我们,带你了解更多Java相关干货知识。

知了堂Java | Java基础面试题(六)的评论 (共 条)

分享到微博请遵守国家法律