Java面试------集合篇

集合篇

一.集合中的使用泛型的优点?

  1. jdk1.5引入了泛型;
  2. 泛型解决了黄色警告线的问题;
  3. 避免了强制类型转换;
  4. 优化了代码格式

二.Java集合中的基础接口?

  1. Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。
  2. Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。
  3. List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。
  4. Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。
  5. 一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。

三.为何Map接口不继承Collection接口?

  1. 容器内每个位置所存储的元素个数不同;
  2. Collection类型存储的是一个元素;
  3. Map类型存储的是简直对的方式  

四.Iteratot是什么?

  1. Iterator 接口提供遍历任何Collection集合接口
  2. 迭代器允许调用者在迭代过程中移除元素

五.Iterator 和listIterator的区别?

  1. Iterator可以遍历set和list集合,而LIstIterator只能遍历list集合
  2. Iterator 只能向前遍历而listIterator可以双向遍历
  3. Listterator从Iterator接口继承,也存在新的方法,比如添加,替换元素

六.HashMap如何工作?

  1. HashMap在静态内部类中存储键值对,HashMap在put和get方法中使用了hash cold()和equals()方法。

七.Hashmap和HashTable有什么区别?

  1. HashMap允许key和value为null,而hash table不可以为null;
  2. hash table是同步的线程安全的,而hash map不是,所以hash table适合在多线程中使用,而hash map再多线程中

八.如何决定选取treemap还是hashmap?

  1. 对于map中的插入,定位,删除首选是hashmap;
  2. 如果对一个集合进行有序的遍历,选用treemap;

九.ArrayList和Vactor的区别?

  1. 两者都是基于索引的,内部又一个数组支持;
  2. 两者都是允许存入null值,有索引进行随机查询
  3. Vactor是同步的,线程安全的,所以速度会比较慢

十.ArrayList和LinkedList的区别?

  1. 首先他们都是实现了List接口
  2. ArrayList集合底层基于索引,由一个数组支持所以查询速度较快
  3. LinkedList底层是链表结构,每一个节点和上下节点链接,所以插入,修改,删除比较快

十一.Collcations是什么?

  1. 是Java.util.Collcation是一个工具类,仅包含静态方法;
  2. 提供一些便捷的方法,如折半查找,排序,逆序等;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值