- 泛型
- 泛型类:声明时使用泛型,运行时检查泛型。
- T type表示类型
K V 分别表示键值中的key value
E 代表element
3.使用时注意类型:
(1) 泛型只能使用引用类型,不能使用基本类型
(2) 字母,泛型声明时不能使用静态属性|静态方法上(编译时检查)。
- 迭代器的实现原理(游标+判断)
- 引用数据类型比较大小
- 内置类(实现了comparator接口,重写compareTo()方法) (1) 整数,小数,Integer,Float,Double直接比较基本数据类型的大小 (2) 字符:比较unicode码之差 (3) 字符串: 1) 如果其中一个是另外一个起始开始的子串(如:abc,abc1234),返回长度之差 2) 否则返回第一个不相等的Unicode码之差 (4) java.util.Date:根据日期的长整型数比较。
- 自定义 (1) 实体类:java.lang.Comparable + compareTo() (2) 业务排序类:java.Util.Comparator + compare() 1) 解耦:与实体类分离 2) 方便应对多变的排序规则
- 排序容器
- TreeSet:数据元素可以排序且不可重复
对比:Set接口:HashSet,元素必须重写hashcode和equals方法
去重:比较等于0即重复
(1) 元素可以排序:java.lang.Comparable + compareTo + new TreeSet()
(2) 排序业务类:java.util.Comparator + compare + new TreeSet(Comparator <? super E> comparator)
注意:在添加数据时排序,数据更改不会影响原理的排序,不要修改数据,否则可能重复。
2. TreeMap:要求键可以排序,与上TreeSet同理