美文网首页面试题java面试
Java面试题集锦04—数组和集合的使用

Java面试题集锦04—数组和集合的使用

作者: advance_bravely | 来源:发表于2016-10-14 18:57 被阅读89次

14.new Object[5]语句是否创建了5个对象
答案为否。题目的语句其实是创建了一个数组实例,长度为5,每个数组元素的值均是null,并没有创建5个Object对象。如果需要创建5个Object对象,则需要为每个数组元素分别指定。

15.什么是集合
集合是用来也只能存储其他对象的对象,代表了一种底层结构,用于扩展数组的功能。集合框架由一系列的接口和实现类组成,基本包括:列表(List)、集合(Set)、映射(Map)等,它们大多具有可迭代性和可比较性。

16.迭代器是什么
迭代器,提供一种访问一个集合对象中各个元素的途径,同时又不需要暴露该对象的内部细节。Java通过提供Iterable和Iterator两个接口来实现集合类的可迭代性。迭代器主要的用法就是,首先用hasNext()作为循环条件;再用next()方法得到每一个元素;最后再进行相关的操作。

17.比较器是什么
比较器是把集合或数组的元素强行按照指定方法进行排序的对象,它是实现了Comparator接口类的实例。如果一个集合元素的类型是可比较的(实现了Comparable接口),那么它就具有了默认的排序方法,比较器则是强行改变它默认的比较方式来进行排序。或者有的集合元素不可比较(没有实现Comparable接口),则可用比较器来实现动态的排序。

18.Vector与ArrayList的区别
Vector是线程安全的,因为它操作元素的方法都是同步方法,而ArrayList则不是。开发过程中应该根据需要进行选择,如果需要保证线程安全的地方则需要使用Vector,而不必要的时候则无需使用Vector,因为ArrayList效率会高一些。

19.HashMap和HashTable的区别
HashMap和HashTable的区别主要有以下几个方面

  • HashTable的方法是同步的,HashMap不能同步,所以在多线程场合要使用HashTable,这个区别就像Vector和ArrayList一样
  • HashTable不允许null值(Key和value都不可以),HashMap允许null值(Key和value都可以)
  • HashTable有一个contains()方法,功能和containsValue()功能一样
  • HashTable使用Enumeration遍历,而HashMap使用Iterator进行遍历
  • HashTable与HashMap中的hash数组的初始化大小及其增长方式不同
  • 哈希值的使用不同,HashTable直接使用对象的hashCode,而HashMap会重新计算hash值

20.集合使用泛型带来了什么好处
集合使用泛型以后,可以达到元素类型明确的目的,避免了手动类型转换的过程,同时,也让开发者更加明确容器保存的是什么类型的数据

21.如何把集合对象中的元素进行排序
对于没有排序功能的集合来说,都可以使用java.util.Collections.sort()方法进行排序,它除了集合对象以外,还需要提供一个比较器。如果列表中的元素全都是相同类型的,并且这个类实现了Comparable接口,可以简单地调用Collections.sort(),如果这个类没有实现Comparator,就可以传递一个Comparator实例作为sort()的第二个参数进行排序。另外,如果不想使用默认的分类顺序进行排序,同样可以传递一个Comparator实例作为参数来进行排序。

相关文章

  • Collection

    参考地址:Java集合常见面试题集锦Java集合必会14问(精选面试题整理) Java中Collection和Co...

  • Java面试题集锦04—数组和集合的使用

    14.new Object[5]语句是否创建了5个对象答案为否。题目的语句其实是创建了一个数组实例,长度为5,每个...

  • 面试必备——Java集合框架

    Java集合框架面试题 常见集合 集合可以看作是一种容器,用来存储对象信息。数组和集合的区别:(1)数组长度不可变...

  • Java面试题目录

    垃圾回收 面试题-Java基础-垃圾回收 java垃圾回收 集合 40个Java集合面试问题和答案 Java集合框...

  • Java面试题目录

    垃圾回收 面试题-Java基础-垃圾回收 java垃圾回收 集合 40个Java集合面试问题和答案 Java集合框...

  • 【集合框架】

    集合框架(怎么实现、适用场景) hash相关 Java集合框架 Java集合框架综述Java集合框架面试问题集锦 ...

  • 集合相关

    Java面试题 1.Java集合框架是什么?说出一些集合框架的优点? 集合框架的部分优点如下: 使用核心集合框类降...

  • Java初级笔记No.10之Java程序实例(集合&网络

    I、集合 1.1 数组转化为集合 使用java Util类的Array.asList(name)方法将数组转化为集...

  • Java基础面试总结

    【面试汇总】Java面试题-1Java面试题-2 【集合】Java集合及concurrent并发包总结(转)Jav...

  • 面经分享:如何一招破解 Java 集合类面试题?

    Java集合类面试题: Java集合类绝对是我们的老朋友了,Java技术江湖里,谁人不知,谁人不晓,它的使用率非常...

网友评论

    本文标题:Java面试题集锦04—数组和集合的使用

    本文链接:https://www.haomeiwen.com/subject/qkmwyttx.html