面试题之Java 集合

 

1.collection接口:

  方法:  ①:size():返回集合中的项数。

               ②:isEmpty:判断集合中是否为空

               ③:contains(Object):判断集合中是否包含某项

               ④:clear:

               ⑤:add(E):从集合中添加某项

               ⑥:remove(object):从集合中删除某项

               ⑦:iterator:遍历集合

2. Iterable接口:

      2.1.  ①:实现Iterable接口的的类可以拥有增强for循环(也就是foreach)

              ②:实现Iterable接口的集合类必须提供一个名为  Iterator() 的方法,该方法的返回值为Iterator

      2. 2.  方法:

               ①:hasNext():是否存在下一项

               ②:next():获取下一项

               ③:remove():删除由next() 最新返回的项(注:此后不能在调用remove,直到next再一次调用以后

 

    2.3 collection与 Iterable的remove的区别:

        ①:性能:Iterator的remove() 性能更高

        ②:容错方面:Iterator遍历时不报错,内部对象个数和原来保持一致。

 

3 .List接口和set接口的区别:

      List有顺序,可重复。set集合反之。

4.List集合下的ArrayList与LinkedList的区别:

    ArrayList查询的时间快,所以查询用ArrayList,对数据库的数据进行变动  (增删改)  的用LinkedList

5.set集合下的Hashset,TreeSet,LinkedHashSet有什么区别:

①.需要速度快的集合,使用HashSet

②.需要集合有排序功能,使用TreeSet

③.需要按照插入的顺序存储集合,使用LinkedHashSet

6.Queue:

特点:先进先出

 

 

7.怎样将一个数组转成List,有什么方法?

①Arrays.asList(数组)

②List转数组,使用list.toArray()

 

8. ArrayList和Array的区别:

①.ArrayList是Array的复杂版本

②.存储的数据类型:Array只能存储相同数据类型的数据,而ArrayList可以存储不同数据类型的数据

③.长度的可变:Array的长度是固定的,而ArrayList的长度是可变的

9.HashMap、TreeMap、LinkedHashMap的区别?

①.在Map中插入、删除和定位元素,HashMap是最好的选择

②.需要集合有排序功能,使用TreeMap更好

③.需要按照插入的顺序存储集合,使用LinkedHashMap

10.HashMap与HashSet之间的区别

HashMap:①实现Map接口,②存储键值对,③添加元素用put,使用对象来计算hashcode,④使用键来获取对象比HashSet要快

HashSet:①实现Set接口,② 存储对象  ③调用add()向set中添加元素  ④HashSet使用成员对象计算hashcode ⑤HashSet较HashMap来说比较慢

11.List、Set、Map之间的区别

List:①:可重复     ②:可插入多个null    ③:先进先出

Set:  ①:不可重复     ②:只允许null    ③:无序

Map:①:键值对存储,键必须唯一,但是值可以重复     ②:键只允许一个null,值可允许多个    ③:无序

 

为了更好的理解,有一张思维导图帮助理解其之间的关系:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值