zoukankan      html  css  js  c++  java
  • java 基础之数据集合

    1.为什么集合类没有实现Cloneable和Serializable接口?

    克隆(cloning)或者是序列化(serialization)的语义和含义是跟具体的实现相关的。因此,应该由集合类的具体实现来决定如何被克隆或者是序列化。

    2.Iterator和ListIterator的区别是什么?

    Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。
    Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。
    ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等等

    3.快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?

    Iterator的安全失败是基于对底层集合做拷贝,因此,它不受源集合上修改的影响。java.util包下面的所有的集合类都是快速失败的,而java.util.concurrent包下面的所有的类都是安全失败的。快速失败的迭代器会抛出ConcurrentModificationException异常,而安全失败的迭代器永远不会抛出这样的异常。

    4. 集合与数组的区别

    ①数组长度是固定的,不能自动增长

    集合长度是可以改变的,随着元素的增加而增加随着元素的减少而减少

    ②数组既可以存储基本数据类型也可以存储引用数据类型(对象)

    集合只能存储引用数据类型,也可以存储基本数据类型,不过他会将基本数据类型封装成对象

     5.集合分为单列集合和双列集合

    6.泛型<定义存储什么数据类型>

    泛型最好不要定义object,无意义

    好处:

    ①将运行期的出意外转到编译期

    ②省去了强转的麻烦

    使用概述

    ①泛型可以自己指定类型,但是在new对象时候给定指定类型

    ②方法泛型需要与类泛型一致,如果不一致需要在方法上指明该泛型,只要在使用时候传值即可

    ③静态方法中需要声明自己的泛型

    ④泛型接口

    方式一:public class Demo implements interface<用类实现时需要指定类型>----------------------推荐

    方式二:public class Demo<T> implements interface<T>

  • 相关阅读:
    第三次作业
    第二次作业
    第一次作业
    软件工程第0次作业
    第四次作业
    第三次作业
    第二次作业
    第一次作业
    第零次作业
    第四次软件工程作业
  • 原文地址:https://www.cnblogs.com/fanfusuzi/p/6824336.html
Copyright © 2011-2022 走看看