Java面试题——数据结构篇(持续更新中)

2018-12-10 16:43:52  晓掌柜  版权声明:本文为站长原创文章,转载请写明出处


一、前言

    承接上文,本篇为数据结构篇。就该部分试题做简要分析。


二、正文开始


    2.1、介绍下collection框架结构

        答案:① collection是构造类集合框架的基础。

                ② 它拥有新增(add)、清除(clear)、获取长度(size)、

                删除(remove)、判断(equals)、为空(isEmpty)等方法。

    2.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可以重复。

    2.3、hashMap和hashTable的区别

        答案:① hashMap是hashTable的轻量级实现,他们都实现了map接口,主要区别是hashMap允许空键值。

                ② hashMap底层是以哈希表实现的,存取速度快,线程不安全,底层也是用了哈希表,存取的速度快

                   ,储存的元素是无序的。

    2.4、Java有哪几种类型的流

        ① 字节流,最小传输单位为1个字节(byte),字符流最小单位为一个字符。

        ② InputStream : 输入字节流, 也就是说它既属于输入流, 也属于字节流。

        ③ OutputStream: 输出字节流, 既属于输出流, 也属于字节流。

        ④ Reader: 输入字符流, 既属于输入流, 又属于字符流。

        ⑤ Writer: 输出字符流, 既属于输出流, 又属于字符流。


    2.5、什么是Java序列化

        答案:① Java序列化是指把Java对象转换为字节序列的过程。

                ② 对象序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。

                    序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。

                    序列化后的字节流保存了Java对象的状态以及相关的描述信息。序列化机制的核心作用就是

                    对象状态的保存与重建。

                ③ 永久性保存对象,保存对象的字节序列到本地文件或者数据库中、通过序列化以字节流的形式

                    使对象在网络中进行传递和接收、通过序列化在进程间传递对象;


更多精彩请关注guangmuhua.com


最新评论: