Java Iterator级线程面试题

1.迭代器iterator是什么?

Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法获取迭代器实例。迭代器取代了Java集合框架的枚举,迭代器允许调用者在迭代的过程中移除元素。

2.Iterator如何使用,有什么特点?

Iterator 使用代码如下:
List<String> list = new ArrayList<>();
Iterator<String> it = list. iterator(); while (it. hasNext()){
String obj = it. next();
System. out. println(obj);
Iterator的特点是更加安全,因为它可以确保,在当前遍历的集合元素被更改的时候,就会抛出ConcurrentmodificationException 并发修改异常。

3.Iterator 和 ListIterator 有什么区别?

Iterator 可以遍历 Set 和 List 集合,而 ListIterator 只能遍历 List。
Iterator 只能单向遍历,而 ListIterator 可以双向遍历(向前/后遍历)。
ListIterator 从 Iterator 接口继承,然后添加了一些额外的功能,比如添
加一个元素、替换一个元素、获取前面或后面元素的索引位置。

4.怎么确保一个集合不能被修改?

可以使用
Collections. unmodifiableCollection(Collection c) 方法来创建一个只
读集合,这样改变集合的任何操作都会抛出 Java. lang. UnsupportedOperationException
异常。
示例代码如下:
List<String> list = new ArrayList<>();
list. add( "x" );
Collection<String> clist = Collections. unmodifiableCollection(list);
clist. add( "y" );
// 运行时此行报错
System. out. println(list. size());

5.并行和并发有什么区别?

  并行:多个处理器或多核处理器同时处理多个任务。
  并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻
辑上来看那些任务是同时执行。

6.什么是枚举?

枚举简称enum,是一种特殊的数据类型,它也许程序员定义一个变量,该变量可以是预定义常量池的其中一个。

枚举的优点;1.提高代码的可读性,提高代码的可维护性3.类型安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值