Java面试题——数据结构篇(持续更新中)
2018-12-11 00:43:52 卢浮宫 版权声明:本文为站长原创文章,转载请写明出处 QQ分享
一、前言
承接上文,本篇为数据结构篇。就该部分试题做简要分析。
二、正文开始
1、介绍下collection框架结构
答案:①collection是构造类集合框架的基础。②它拥有新增(add)、清除(clear)、获取长度(size)、
删除(remove)、判断(equals)、为空(isEmpty)等方法。
2、list、set、map三个接口在存取元素上各有什么优缺点
答案:①list和set都继承了collection接口,map则不是。②list和set为单列集合,map为双列集合。
③有序存储,可以重复,添加是执行add()方法,当重复添加时是多个索引执行同一个对象,同时List可以指定位置添加,
add(int index ).获取指定位置的元素get(int index)。
④无序的,不可重复。set在判定是否重复的时候是调用的equals方法,如果已经存在一个元素A,
那么在插入一个与A的rquals方法为true的B是返回的Boolean值为FALSE,无法添加。
⑤已键值对的形式来进行存储。key是唯一的,不可重复,value可以重复。
3、hashMap和hashTable的区别
答案:①hashMap是hashTable的轻量级实现,他们都实现了map接口,主要区别是hashMap允许空键值。
②hashMap底层是以哈希表实现的,存取速度快,线程不安全,底层也是用了哈希表,存取的速度快,储存的元素是无序的。
4、Java有哪几种类型的流
① 字节流,最小传输单位为1个字节(byte),字符流最小单位为一个字符。
②InputStream : 输入字节流, 也就是说它既属于输入流, 也属于字节流。
③OutputStream: 输出字节流, 既属于输出流, 也属于字节流。
④Reader: 输入字符流, 既属于输入流, 又属于字符流。
⑤Writer: 输出字符流, 既属于输出流, 又属于字符流。
5、什么是Java序列化
答案:①Java序列化是指把Java对象转换为字节序列的过程。
②对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。
序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。
序列化后的字节流保存了Java对象的状态以及相关的描述信息。序列化机制的核心作用就是对象状态的保存与重建。
③永久性保存对象,保存对象的字节序列到本地文件或者数据库中、通过序列化以字节流的形式使对象在网络中进行传递和接收、通过序列化在进程间传递对象;
更多精彩请关注guangmuhua.com