)
一.Collection集合概述ArrayList顺序表LinkedList双向链表队列TreeSet红黑树HashSet哈希表。eg.二.Collection的常用方法{7.数组类型不是String而是Object因为编写的时候不知道存储那个类型为了成为通用的集合实际上容纳的是类型为object类型的的对象的句柄如果想把这个集合转成String类型的数组}两个集合数据类型要一样此时c1有c1和c2的数据c2自己的数据也还在相当于拷贝了一份到c1三.Collection的遍历方式1.迭代器{当遍历完集合所有元素后 继续调用迭代器的next方法就会出现异常}{迭代器执行流程取出数据 移动指针到下个位置.......}注意千万不要连着用 指针连续后移当数组只有奇数个元素时 会报错2.增强forcollection集合有的不支持索引不能用普通for循环快捷输入3.Lambda表达式Consumer是接口 所以要用匿名内部类重写{匿名内部类}简化为Lambda表达式out是对象 println是方法4.案例遍历集合中的自定义对象电影类集合中存储的是元素的地址信息 直接输出想得到内容的话要重写toString方法四.List集合1.特点 特有方法2.遍历方式3.ArrayList集合的底层原理基于数组4.LinkedList集合的底层原理基于双链表-------------------eg.医院排号只在首尾增删元素注意多态无法调用子类特有方法 Linklist独有的方法用不了 编译不通过 分情况选择要不要多态eg.子弹弹夹五.Set集合1.特点注意无序不是每次执行出来的结果都是不一样的-------------默认升序2.HashSet集合的底层原理基于哈希表--------------{占满12个就会扩容至原数组的两倍}--------------------------------直接在生成里面选择3.LinkedHashSet集合的底层原理基于哈希表 双链表4.TreeSet集合基于红黑树法一法二六.注意事项集合的并发修改异常问题----------------------------------------联想之前for循环删除含某字的例子数据移动了索引漏了解决方法或者倒着删除----------------------------------------增强for循环、Lambda表达式来删除数据它们也是会出现并发修改异常问题的而且没办法修改增强for循环本身就是迭代器的简写 而又无法修改迭代器可修改的那步Lambda表达式源码是用了增强for循环七.Collection集合的使用总结八.Collection的其他相关知识1.前置知识可变参数注意事项2如果多个的话 传数据就会有歧义3正常形参只会接收一个数据或一个数组 这样剩余的都是可变参数所接的数据剩余参数2.Collections不是集合 是操作集合的工具类1泛型送进来的集合类型。super T 说明是T的父类则后面的T此时可接的必须是及其子类。注意一定要让学生类实现比较规则或者3.综合案例Card类Room类Test类