java数据结构与算法第一天

1 @SuppressWarnings注解用法

  

该批注的作用是给编译器的一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。
也就是说,你加了个这个批注,那么你这块的代码的某些警告就不报了,最常见的比如定义了个变量,
然后又不用人家。再看这条批注是@SuppressWarnings后面有个S,这就说明警告有很多啊,
有的你可以忽视有的不能忽视啊,所以你得知道啥时候用啥@SuppressWarnings的啥批注,
all----抑制所有警告

boxing----抑制装箱、拆箱操作时候的警告

cast----抑制映射相关的警告

dep-ann----抑制启用注释的警告

deprecation----抑制过期方法的警告

fallthrough----抑制在switch中缺失breaks的警告

finally----抑制finally模块没有返回的警告

hiding----

incomplete-switch----忽略没有完整的switch语句

nls----忽略非nls格式的字符

null----忽略对null的操作

rawtypes----使用generics时忽略没有指定相应的类型

restriction----

serial----忽略在serializable类中没有声明serialVersionUID变量

static-access----抑制不正确的静态访问方式警告

synthetic-access----抑制子类没有按最优的方法访问内部类的警告

unchecked----抑制没有进行类型检查操作的警告

unqualified-field-acces----抑制没有权限访问的域的警告

unused----抑制没被使用过的代码额警告

抑制单类就@SuppressWarings(“XXX”)

抑制多类就@SuppressWarings(value={“XXX”,“XXX”})

 

2  ArrayList的(add、get、remove)底层实现

         

 

add

java数据结构与算法第一天_第1张图片

java数据结构与算法第一天_第2张图片

add重载

java数据结构与算法第一天_第3张图片

get

java数据结构与算法第一天_第4张图片

 

set

java数据结构与算法第一天_第5张图片

 

remove

java数据结构与算法第一天_第6张图片

java数据结构与算法第一天_第7张图片

 

3  既然有数组array为什么还需要Arraylist(底层还是数组)

java数据结构与算法第一天_第8张图片

 

4 关于数组Array和链表Node的垃圾回收问题

就是说数组Array不会收缩,数组不会被垃圾收回

然而链表Node的优点是,当元素被移除时,它就会缩小,而未使用的节点可以立即被垃圾回收

5 节点Node组成的链表LinkedList的底层实现(indexOf、add、getNode、remove)

indexOf

java数据结构与算法第一天_第9张图片

 

add、getNode

remove

 

 

 

 

你可能感兴趣的:(java数据结构与算法第一天)