讲师笔记,Java基础学习之路之day16——java.util方法,枚举,泛型

    java.util.Arrays 
        提供操作数组的方法
        
        常用静态方法:
            String toString(数组)      将数组元素的内容 转换 为 字符串
            void sort(数组)                   对数组进行快速排序
            boolean equals(数组1,数组2)比较两个数组的内容是否相等
            
            数组类型  copyOf(源数组,int length)
            创建一个新数组长度为length,将源数组中的元素从新数组下标为0的位置开始拷贝
            
            System.arraycopy(src,srcPos,dest,destPos,length)
                 src     : 源数组
                 srcPos    : 从源数组的什么位置开始拷贝
                 dest    : 目标数组
                 destPos    : 从目标数组的什么位置开始存放
                 length    : 要拷贝的长度
    
    排序:
        int compareTo(another): 
            返回0        : this == another
            返回正数    :this>another
            返回负数    :this<another   是jdk实现的,默认是按照升序比较
            
        Arrays.sort(Object[] arr)
            数组对应的类 必须要实现Comparable接口,并且重写compareTo方法
            排序规则是由compareTo方法决定的。
        Arrays.sort(Object[] arr,Comparator comp)
            数组对应的类 必须要实现Comparator接口,并且重写compare方法
            
        sort方法 jdk写的实现是根据Comparable接口
                自定义实现是根据Comparator接口
    
    ------------------------------------------------------
    
    枚举类型
        是由一组固定的常量组成的类型
        jdk1.5之后 才有的
        
        public enum 枚举类名{
            常量值1,常量值2,常量值3...
        }
        注意: 枚举值 必须放在第一行
        
        switch(key): key可以是哪些类型?
            byte short char int String 枚举 Byte Short Character Integer
    
    -------------------------------------------------------
    泛型
        
        编写MyArray类的时候 希望可以存放任意数据类型
        使用MyArray类的时候 只能存放一种类型的数据
        
        泛型 <T> 代表任意引用类型
        <T extends Number> T代表的是任意Number的子类型
        
        泛型只在编译期有效 ,不参与运行
    
    -------------------------------------------------------
    
     随机生成5个0~99之间的整数并按顺序放入int[]arr数组中,这5个数字对应的权重
     是int[]power={3,2,3,3,5};请根据数字的权重对arr中数字进行升序排序,如果权重相同
     则按随机数字本身大小从小到大排序,如果权重和数字都相同则不作处理,最后
     打印出排序后数组中第三个位置上的数字
      冒泡排序 或者  Arrays.sort()
     

猜你喜欢

转载自blog.csdn.net/u011189148/article/details/81417130