集合里面存储的是对象,直接打印集合名,相当于打印里面的每一个对象,每个对象有自己的tostring方法.
ArrayList 中contain和remove方法依靠equal方法
List: ArrayList, vector, LinkedList
数组,链表数据结构,数组开辟连续的空间,连续的地址可以进行查找,而链表靠元素与元素之间的关系,后一个元素记住前一个元素的地址的关系来查找
栈,先进后出,上面开口,地下封闭
队列,先进先出,一个管道
private类型只能在本类中使用,外部无法调用,this.只能代表本类对象的地址
泛型,将运行期的错误转移到编译期,提高安全性.里面只能睡对象<object obj>
防止同一个父类的同一级子类进行转换,会出现Class cast exception
泛型通配符 ?extend E ,?属于E的子类对象就满足条件
增强FOR循环 int[] i = {11,22,33,44,55} 适合数组或者容器.应用数据类型,底层依赖迭代器,Iterator
for(int i : arr) {
syso(i);
} for (ArrayList<Person> 班级: list,集合) {
for (Person person学生:
班级) {
System.out.println(person);
}
迭代过程中不能用集合的删除方法,会出现并发修改异常,只能用迭代器自身的remove方法,集合的next方法会自动把指针向后移动,在用for进行循环是无需i++
曾强for循环只能遍历,不能删除集合元素,普通for循环可以删除元素,但remove(i- -),指针要向前移动一位,因为集合的next方法会自动把指针向后移动,去除掉一个元素后
数组会自动缩进,
Arrays.aslist(),只能接受引用数据类型,集合嵌套集合,循环嵌套循环
可变参数