学习目标
- 泛型
- 泛型的优势
- 自定义泛型类,接口,方法
- 数据结构
- 栈结构
- 队列结构
- 数组结构
- 链表结构
- 树结构
- 哈希表结构
- List集合
- List集合的特点
- List集合的实现类
- List集合的特有方法
- Set集合
- 泛型名是一个大写的英文字母,若有多个泛型,用逗号隔开;
- 类中定义属性不知具体类型,可使用泛型;
- 泛型在运行的时候,就会被擦除。
2 集合
2.1 List集合Set集合的区别在于哪里 ?
| | List集合 | Set集合 | | —- | —- | —- | | 重复对象 | 允许有重复的对象 | 元素唯一 | | null元素 | 可以插入多个null元素 | 只允许插入一个null元素 | | 是否有序 | 输出顺序就是输入顺序 | 无序(存取顺序不一致) | | 有无索引 | 有 | 无 | | 常用实现类 | ArrayList、LinkedList 和 Vector | HashSet、LinkedHashSet 和 TreeSet |
2.2 ArrayList集合特点及使用?
- 特点:数据结构(数组结构) 查询快,增删慢。
使用:
ArrayList<String> list1=new ArrayList<>();list1.add("曹操");ArrayList<String> list2=new ArrayList<>();list1.add("曹洪");//把list1集合中所以内容添加到list2list2.addAll(list1);}
2.3 HashSet集合特点及使用 ?
特点:数据结构(哈希表) 查询快,保证元素唯一。1.底层数据结构是哈希表 ;2.对集合的迭代顺序不作任何保证,也就是说不保证存储和取出的元素顺序一致 ;3.没有带索引的方法,所以不能使用普通for循环遍历。
- 使用:
HashSet<Student> hs = new HashSet<>();Student s1 = new Student("刘亦菲","女",18);hs.add(s1);for (Student s : hs) {System.out.println(s);}
3. 数据结构
3.1 常见的数据结构有哪些及特点 ?
- 栈结构 : 先进后出。
- 队列结构 : 先进先出 。
- 数组结构 : 查询快 , 增删慢 。
- 链表结构 : 查询慢 , 增删快 。
- 二叉树
- 二叉树 : 每个节点最多有两个子节点。
- 二叉查找树 : 每个节点的左子节点比当前节点小 , 右子节点比当前节点大 。
- 二叉平衡树 : 在查找树的基础上, 每个节点左右子树的高度不超过1 。
- 红黑树 :
- 每一个节点或是红色的,或者是黑色的 ;
- 根节点必须是黑色 ;
- 如果一个节点没有子节点或者父节点,则该节点相应的指针属性值为Nil,这些Nil视为叶节点,每个叶节点(Nil)是黑色的 ;
- 不能出现两个红色节点相连的情况 ;
- 对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点 。
- 哈希表结构 :

