数据结构与算法笔记

一、基本数据类型不能使用作为Compareable传递,但是包装类可以,因为它们都实现了Compareable接口

二、IS-A在面向对象程序设计里指的是父类和子类的继承的关系

三、compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Double, Integer, Float, Long 或 Short 类型的参数等

语法

public int compareTo( NumberSubClass referenceName )

返回值

  • 如果指定的数与参数相等返回0。

  • 如果指定的数小于参数返回 -1。

  • 如果指定的数大于参数返回 1。

四、自动拆箱

       如果一个Int型量被传递到需要一个Integer对象的地方,那么,编译器将在插入一个对Integer构造方法的调用,这就叫自动装箱,相反为自动拆箱

五、增强的For循环

    jdk1.5出现的新特性---->增强for循环
    增强for循环的作用: 简化迭代器的书写格式。(注意:增强for循环的底层还是使用了迭代器遍历。)

    增强for循环的适用范围: 如果是实现了Iterable接口的对象或者是数组对象都可以使用增强for循环。

    增强for循环的格式: 
    for(数据类型  变量名  :遍历的目标){   //数据类型  变量名:声明一个变量用来接收遍历目标遍历后的元素
    }

    增强for循环要注意的事项:
    1. 增强for循环底层也是使用了迭代器获取的,只不过获取迭代器由jvm完成,不需要我们获取迭代器而已,所以在使用增强for循环变量元素的   过程中不准使用集合 对象对集合的元素个数进行修改。
    2. 迭代器遍历元素与增强for循环变量元素的区别:使用迭代器遍历集合的元素时可以删除集合的元素,而增强for循环变量集合的元素时,不能调用迭代器的remove方法删                 除 元素。

    3. 普通for循环与增强for循环的区别:普通for循环可以没有遍历的目标,而增强for循环一定要有遍历的目标。

六、泛型集合不是协变(类型兼容,即父类可以同时声明两个子类对象并调用)的,Java5使用通配符(T)来表示参数类型的子类,用来弥补泛型不是协变的不足;

        类型擦除:泛型类可以由编译器通过类型擦除的过程转变为非泛型类,编译器这样就会生成一种和泛型类同名的原始类,但是类型的参数都被删除了,类型变量由类型限界来代替。

注意事项:1、基本类型不能用作类型参数。

                  2、不能创建泛型类型的实例如:T obj = new t();//右边是非法的

                  3、不能创建泛型的数组

                  4、参数化类型的数组的实例化是非法的

函数对象:一种将函数作为参数传递的独创方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值