黑马程序员技术交流社区

标题: 来自新人小弟的第一篇周记 [打印本页]

作者: 社会我大哥大    时间: 2018-12-12 17:17
标题: 来自新人小弟的第一篇周记
我这个人比较懒,所以我把我的笔记直接拉过来吧!
Object类:
equals 一般用于比较两个对象的内容;==用于比较两个值;
用赋值符号创建的字符串可以用== 也可以用equals比较,new出来的字符串,只能用equals比较。
在比较两个对象的时候,Object的equals方法容易抛出空指针异常,而Objects类中的equals方法里null是不能调方法,否则会空指针异常。
包装类
        通过类把基本数据类型包装起来进行使用
装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)
拆箱:在包装类中取出基本类型的数据(包装类->基本类型的数据)
Collection集合:
        Collection集合是一个接口,所有单列集合都实现了Collection接口
在创建集合的时候会创建一个修改值,默认:0;
修改值会在每次改变集合长度的时候+1;
创建迭代器对象的时候会将集合的修改值复制一份给迭代器对象;
每次调用next()获取元素的时候,都回去对比迭代器中的复制的那份期望修改值和集合中的修改值是否一致,如果不一致,就会抛出并发异常
增强for循环:格式:
    for(集合/数组的数据类型 变量名: 集合名/数组名){
        sout(变量名);
    }
创建集合对象,不使用泛型
好处: 集合不使用泛型,默认的类型就是Object类型,可以存储任意类型的数据
弊端:不安全,会引发异常
泛型的上限限定: ? extends E  代表使用的泛型只能是E类型的子类/本身
泛型的下限限定: ? super E    代表使用的泛型只能是E类型的父类/本身
数据结构 栈:先进后出
数据结构 队列:先进先出
数据结构 数组:查询快,增删慢;数组的长度不可改变
数据结构  链表;查询慢,增删快
List接口的特点:
    1.有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123)
    2.有索引,包含了一些带索引的方法
    3.允许存储重复的元素
ArrayList集合
        特点,ArrayList集合底层是一个数组,数组的特点就是查询快增删慢;不是同步的,也就是说是多线程的整体效率会高
LinkedList集合:1.底层是一个链表结构:查询慢,增删快; 2.里边包含了大量操作首尾元素的方法
注:使用LinkedList集合特有的方法,不能使用多态
Vector集合:最早版本的一个集合,底层是数组结构,是单线程的速度慢被ArrayList所取代是同步的,单线程,整体效率低;
1.不允许存储重复的元素; 2.没有索引,没有带索引的方法,也不能使用普通的for循环遍历
Collections 集合工具类;
被排序的集合里边存储的元素,必须实现Comparable,重写接口中的方法compareTo定义排序的规则;
Comparable接口的排序规则: 自己(this)-参数:升序
Comparator的排序规则: o1-o2:升序
map集合的特点:
1:是一个双列集合,一个元素包含两个值(key,value);
2:key和value的数据类型可相同也可以不同;
3:key是不允许重复的,value是可以重复的;
4:key和value是一一对应的;
HashMap:
1:集合底层是哈希表:查询特别快;
2:是一个无序集合,存储元素和去除元素的顺序可能不一致;
LinkedHashMap:
1:集合底层是哈希表+链表(保证迭代的顺序);
2:有序集合,存储元素和取出元素顺序一致。
异常:
异常的处理:
        Java异常处理的五个关键字:try , catch , finally , throw , throws
抛出异常 throw 作为校验和提示的方式,可以进行if判断你要检验的值,做出throw new …Exception (“异常的原因”); 作为提示
声明异常throws :throws关键字:异常处理的第一种方式,交给别人处理
try ..catch:try...catch:异常处理的第二种方式,自己处理异常
finally代码块:1.finally不能单独使用,必须和try一起使用
    2.finally一般用于资源释放(资源回收),无论程序是否出现异常,最后都要资源释放(IO).
自定义异常类:
    java提供的异常类,不够我们使用,需要自己定义一些异常类
格式:
    public class XXXExcepiton extends Exception | RuntimeException{
        添加一个空参数的构造方法
        添加一个带异常信息的构造方法
    }
并发和并行:
并发:一个人同时做两件事情
并行:两个人同时做自己的事情






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2