Java作业之容器篇

发布于:2022-08-05 ⋅ 阅读:(509) ⋅ 点赞:(0)

作业:

    某个人进入如下一个棋盘中,要求从左上角开始走,
    最后从右下角出来(要求只能前进,不能后退),
    其中,有些点标志为1,表示该点为无法通过的点,
    问题:共有多少种走法?

    0   0   0   0   1   0   0   0   

    0   0   0   0   0   0   1   0

    1   0   0   0   1   0   0   0

    0   0   0   0   0   0   0   0

    0   0   0   1   0   0   0   0

容器入门篇:
        自定义容器

Java的容器主要分为2个大类,即Collection和Map。Collection代表着集合,类似数组,只保存一个数字。而Map则是映射,保留键值对两个值。

List(对付顺序的好帮手): 存储的元素是有序的、可重复的。


Set (注重独一无二的性质):存储的元素是无序的、不可重复的。


Queue (实现排队功能的叫号机):按特定的排队规则来确定先后顺序,存储的元素是有序的、可重复的。


Map (用 key 来搜索的专家) :使用键值对(key-value)存储,类似于数学上的函数 y=f(x),“x” 代表 key,“y” 代表 value,key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到一个值。

java集合

集合的继承关系
    |-- Collection
        |-- List        // 线性表
        |-- Set            // 哈希表
        |-- Queue        // 队|-- Map            // 键值对,映射


注意:容器中,不能保存基本数据类型!!!
    如果一定要使用基本数据类型,则需要使用它们的包装类

注意:删除基本数据类型,需要手动装箱
    否则,int默认是下标,而不是数据本书



ArrayList源码解析:
    1、Vector默认的容量是10;
    2、Vector是线程安全的容器,操作方法都加了同步锁
    3、ArrayList是非线程安全的容器

    4、ArrayList根据调用不同的构造函数,初始化容器不同
        如果使用无参的构造,默认容量是0,节约内存,
            一旦添加元素,会发生第一次扩容,默认容量为10;

        如果有参的构造,则传递为多少,默认就是多少。


    ArrayList alist = new ArrayList();    // 默认容量0
    ArrayList alist = new ArrayList(8);    // 默认容量8


注意:  如果在开发过程中,数据大小基本确定,建议使用有参的构造函数,减少频繁扩容,提高性能当然如果不能确定的话,可以使用无参的构造。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到