面向对象
this指的是对象地址,谁调用就是谁的地址
构造方法:
类里面默认一个无参数的构造方法:
构造方法也允许重载
Java不允许外部类使用private,protected修饰
所谓的外部类,就是在源码中直接声明的类,而内部类,就是类中声明的类
内部类当成外部类的属性使用即可
集合
instanceof:判断属于什么类型
LinkedList没有索引的概念
ArrayList与LinkedList的区别:
ArrayList:底层是数组的形式来管理;LinkedList:采用列表的形式来组织和管理数据
插入数据速度:在容量充足的情况下:ArrayList比LinkedList更快,容量不足的情况下则相反;在中间索引插入数据时,LinkedList更快
查询数据速度:都是线性查找,有索引时ArrayList更快一些,没有时两个集合的速度差不多
HashSet:不能有相同数据,同样没有索引的概念
HashSet的查询不能通过get方法获取,只能通过遍历:
for (Object o : set) {
System.out.println(o);
}
map集合
hashmap:hash+map
里面不能有重复数据,根据<k,v>键值对中的k属性来确定键值对是否相等
数据存储是无序
添加/修改数据:put—>修改数据时,直接修改key,会覆盖原有的数据
用get+key值的方法查询数据
hashmap的常用方法:
putIfAbsent:如果键值key已经存在,新放入的数值不再起作用,如果不存在才可以放入
replace:覆盖原有数值
clear:清空
keySet:获取集合中的所有key