java容器与集合

  • 泛型
  1. 泛型类:声明时使用泛型,运行时检查泛型。
  2. T   type表示类型

             K  V 分别表示键值中的key  value

             E  代表element

      3.使用时注意类型:

           (1) 泛型只能使用引用类型,不能使用基本类型

           (2) 字母,泛型声明时不能使用静态属性|静态方法上(编译时检查)。

  • 迭代器的实现原理(游标+判断)
  • 引用数据类型比较大小
  1. 内置类(实现了comparator接口,重写compareTo()方法)                                                                                                              (1) 整数,小数,Integer,Float,Double直接比较基本数据类型的大小                                                                                  (2) 字符:比较unicode码之差                                                                                                                                                    (3) 字符串:                                                                                                                                                                                     1) 如果其中一个是另外一个起始开始的子串(如:abc,abc1234),返回长度之差                                                               2) 否则返回第一个不相等的Unicode码之差                                                                                                                        (4) java.util.Date:根据日期的长整型数比较。
  2. 自定义                                                                                                                                                                                            (1) 实体类:java.lang.Comparable  +  compareTo()                                                                                                                  (2) 业务排序类:java.Util.Comparator  +  compare()                                                                                                                      1) 解耦:与实体类分离                                                                                                                                                              2) 方便应对多变的排序规则
  3. 排序容器
  1. 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同理  

猜你喜欢

转载自blog.csdn.net/shihuangzhe520/article/details/81412880