1、如何理解数组在Java中作为一个类?
Java的数组本质上是一个类,该类还保存了数据类型的信息。该类通过成员变量的形式来保存数据,并且通过[]符号,使用下标来访问这些数据。在处理基本类型数据时,数组保存的是变量的值,如果程序员未提供初始值,数组会把这些变量的值初始化为0;而处理引用类型时,数组保存的是数据的引用,如果程序员未提供初始值,数组会把这些变量的值初始化为null。
2、new Object[5]语句是否创建了5个对象?
答案为否。题目的语句其实是创建了一个数组实例,长度为5.每个数组元素的值均是null,并没有创建5个Object对象。如果需要创建5个Object对象,则需要为每个数组元素分别指定。
3、如何拷贝数组的数据?
使用System.arraycopy()方法,或者创建一个新的数组实例,然后把数据一一装填进去,不能用=赋值运算符。
4、二维数组的长度是否固定?
长度不固定。Java数组的长度是可以动态变化的,程序员可以任意扩展数组的维度,每一维度的元素个数都可以是不尽相同。
5、什么是集合?
集合是用来也只能用来存储其他对象的对象,代表了一种底层结构,用于扩展数组的功能。集合框架由一系列的接口和实现类组成,基本包括:列表(List)、集合(Set)、映射(Map)等,它们大多具有可迭代性和可比较性。
6、迭代器是什么?
迭代器,提供一种访问一个集合对象中各个元素的途径,同时又不需要暴露该对象的内部细节。Java通过提供Iterable和Iterator两个接口来实现集合类的可迭代性。迭代器主要的用法就是,首先用hashNext()作为循环条件;再用next()方法得到每一个元素;最后在进行相关的操作。
7、比较器是什么?
比较器是把集合或数组的元素强行按照指定方法进行排序的对象,它是实现了Comparator接口类的实例。如果一个集合元素的类型是可比较的(实现了Comparable接口),那么它就具有了默认的排序方法,比较器则是强行改变它默认的比较方式来进行排序。或者有的集合元素不可比较(没有实现Comparable接口),则可用比较器来实现动态的排序。
8、集合使用泛型带来了什么好处?
集合使用泛型以后,可以达到元素类型明确的目的,避免了手动类型转换的过程,同时,也让开发者更加明确容器保存的是什么类型的数据。
9、如何把集合对象中的元素进行排序?
对于没有排序功能的集合来说,都可以使用java.util.Collections.sort()方法进行排序,它除了集合对象以外,还需要提供一个比较器。如果列表中的元素全都是相同类型,并且这个类实现了Comparable接口,可以简单地调用Collections.sort()。如果这个类没有实现Comparator,就可以传递一个Comparator实例作为sort()的第二个参数进行排序。另外,如果不想使用默认的分类顺序进行排序,同样可以传递一个Comparator实例作为参数来进行排序。
10、如何使用随机存取文件RandomAccessFile类?
RandomAccessFile的使用思路主要包括以下一些项目:
(1)用length()方法获取文件的内容长度;
(2)用seek()方法随机的到达任何需要存取数据的地方;
(3)调用read()方法获取当前位置的数据,用write()方法写入数据;
(4)完成需要以后,调用close()关闭文件的打开。

学习面试题Day05的更多相关文章

  1. 深度学习面试题29:GoogLeNet(Inception V3)

    目录 使用非对称卷积分解大filters 重新设计pooling层 辅助构造器 使用标签平滑 参考资料 在<深度学习面试题20:GoogLeNet(Inception V1)>和<深 ...

  2. 深度学习面试题27:非对称卷积(Asymmetric Convolutions)

    目录 产生背景 举例 参考资料 产生背景 之前在深度学习面试题16:小卷积核级联卷积VS大卷积核卷积中介绍过小卷积核的三个优势: ①整合了三个非线性激活层,代替单一非线性激活层,增加了判别能力. ②减 ...

  3. 深度学习面试题13:AlexNet(1000类图像分类)

    目录 网络结构 两大创新点 参考资料 第一个典型的CNN是LeNet5网络结构,但是第一个引起大家注意的网络却是AlexNet,Alex Krizhevsky其实是Hinton的学生,这个团队领导者是 ...

  4. Java学习之面试题整理

    1,java 基本数据类型有几种?哪几种?(面试题) 8种 byte short int long float double char boolean 2,int类型是几个字节?(面试题) 4字节 3 ...

  5. 深度学习面试题26:GoogLeNet(Inception V2)

    目录 第一层卷积换为分离卷积 一些层的卷积核的个数发生了变化 多个小卷积核代替大卷积核 一些最大值池化换为了平均值池化 完整代码 参考资料 第一层卷积换为分离卷积 net = slim.separab ...

  6. 深度学习面试题25:分离卷积(separable卷积)

    目录 举例 单个张量与多个卷积核的分离卷积 参考资料 举例 分离卷积就是先在深度上分别卷积,然后再进行卷积,对应代码为: import tensorflow as tf # [batch, in_he ...

  7. 深度学习面试题24:在每个深度上分别卷积(depthwise卷积)

    目录 举例 单个张量与多个卷积核在深度上分别卷积 参考资料 举例 如下张量x和卷积核K进行depthwise_conv2d卷积 结果为: depthwise_conv2d和conv2d的不同之处在于c ...

  8. 深度学习面试题21:批量归一化(Batch Normalization,BN)

    目录 BN的由来 BN的作用 BN的操作阶段 BN的操作流程 BN可以防止梯度消失吗 为什么归一化后还要放缩和平移 BN在GoogLeNet中的应用 参考资料 BN的由来 BN是由Google于201 ...

  9. 深度学习面试题20:GoogLeNet(Inception V1)

    目录 简介 网络结构 对应代码 网络说明 参考资料 简介 2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名.VGG获得了第二 ...

随机推荐

  1. Pop Sequence (栈)

     Pop Sequence (栈) Given a stack which can keep M numbers at most. Push N numbers in the order of 1, ...

  2. Oracle中对象权限与系统权限revoke

    实验: 1.以sys登陆,创建用户test1, test2: 2.授予test1系统权限(带admin option)-connect,授予test1对象权限(带grant option)-selec ...

  3. Oracle的Import用法

    1. imp 命令介绍   imp 命令可以通过输入各种参数来控制导出方式:  imp keyword=value 或 keyword=(value1,value2,...,valueN) ,例如 i ...

  4. Kinetic使用注意点--image

    new Image(config) 参数: config:包含所有配置项的对象. { image: "图片对象", crop: "图片裁剪对象", fill: ...

  5. PowerDesigner 非数值默认值时会自动增加单引单

    在PowerDesigner中,如果默认值是非数值型的,那么 PowerDesigner 会默认加上单引号 因此我们需要把这个默认的单引号干掉,如果是需要设置字符串默认值的时候,就手工加上 单引号 即 ...

  6. 记一次apt-get无法安装git的问题

    解决apt-get安装过程中出现的Size mismatch和Hash Sum mismatch问题. 事情起因 我从单位复制了一个Virtualbox虚拟机(ubuntu 15.04 Desktop ...

  7. AMH4.2 虚拟主机面板Tengine版本

    本人将原版Nginx更换成淘宝的Tengine 2.1.0 并且更换安装源,以保证面板正常安装 AMH4.2 修改版安装 ———————AMH为独立的一套LNMP/Nginx虚拟主机面板 安装请使用纯 ...

  8. The 6th Zhejiang Provincial Collegiate Programming Contest->ProblemB:Light Bulb

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3203 题意:求影子的最长长度L; 当灯,人头和墙角成一条直线时(假设此时人 ...

  9. docker 通过commit方法创建镜像(Tomcat+Java+Scala)

    前一阵试了试写Dockerfile创建docker image,但有时全靠Dockerfile写实在有些难度,退而求其次试一试使用commit来创建镜像: 想了想干脆创建一个Java+Scala+To ...

  10. C++11新特性:右值引用和转移构造函数

    问题背景 #include <iostream> using namespace std; vector<int> doubleValues (const vector< ...