java集合常见习题整理

1.ArrayList和LinkList的描述,下面说法错误的是:D

  • A.LinkedeList和ArrayList都实现了List接口
  • B.ArrayList是可改变大小的数组,而LinkedList是双向链接串列
  • C.LinkedList不支持高效的随机元素访问
  • D.在LinkedList的中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在ArrayList的中间插入或删除一个元素的开销是固定的

2.ArrayLists和LinkedList的区别,下述说法正确的有?(多选)BC

  • ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
  • 对于随机访问get和set,ArrayList绝对优于LinkedList,因为LinkedList要迭代器。
  • 对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。
  • 对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。

3.下面有关java hashmap的说法错误的是? C

  • HashMap 的实例有两个参数影响其性能:“初始容量” 和 “加载因子”。
  • HashMap 的实现不是同步的,意味着它不是线程安全的
  • HashMap通过开放地址法解决哈希冲突
  • HashMap中的key-value都是存储在Entry数组中的

4.list是一个ArrayList的对象,哪个选项的代码填到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的象?(a)

Iterator it = list.iterator();
int index = 0;
while (it.hasNext())
{
Object obj = it.next();
if (needDelete(obj))  //needDelete返回boolean,决定是否要删除
{
//todo delete
}
index ++;
}
  • it.remove();
  • list.remove(obj);
  • list.remove(index);
  • list.remove(obj,index);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值