数组工具对象建立

来源:互联网 发布:网络剧 有毒 第一集 编辑:程序博客网 时间:2024/06/08 05:33

                                                           数组工具对象建立

class  ArrayToolDemo{

        public static void main(String[] args){

                int[] arr={4,8,2,9,72,6}

                ArrayTool  tool=new  ArrayTool();//求最值

                int  max=ArrayTool.getMax(arr);

                System.out.println("max="+max);

                int index=ArrayTool.getIndex(arr,10)//查找一个角标(10);

        }

}

class  ArrayTool//封装数据

{

        private  ArrayTool(){}//该类中的方法都是静态的,所以该类是不需要创建对象的 。为了保证不让其他创建对象,可以将构造函数私有化。

        //获取整型数组的最大值

        public  static int getMax(int[] arr){

                ing  MaxIndex=0;

                for(int  x=1,x<arr.length;x++){

                        if(arr[x]>arr[maxIndex])

                                maxIndex=x;

                }

                return  arr[maxIndex];

        }

        public static void seletSort(int[] args)//选择排序

        {

                for(int x=0;x<arr.length-1){

                        for(int y=x+1;y<arr.length;y++){

                                if(arr[x]>arr[y])

                                swap(arr,x,y);//位置置换

                        }

                }

        }

        private static void swap(int[] arr,int  a,int  b)//位置置换第三方变量

        {

                int  temp=arr[a];

                arr[a]=arr[b];

                arr[b]=temp;

        }

        public static int getIndex(int[] arr,int  key)// 查找功能

        {

                for(int  x=0;x<arr.length;x++){

                        if(arr[x]==key)

                        return  x;

                }

                return -1;

        }

        public static String arrayToString(int[] arr)//遍历数组

        {                              //数组转字符串

                String  str="[";

                for(int  x=0;x<arr.length;x++){

                        if(x!=arr.length-1)

                                str=str+arr[x]+", ";

                        else

                                str=atr+arr[x]+"]";

                }

                return  str;

        }

}


                                                            文档注释

/**

建立一个用于操作数组的工具类,其中包含着常见的对数组操作的函数如:最值,排序等。

@ author   张三

@version    v1.0

*/

/**

获取整型数组的最值

@Param  arr接受一个元素为int类型的数组

@return   该数组的最大的元素值

*/

class  ArrayTool

{

        private  ArrayTool(){}

        public static int getMax(int[] arr){

                int  MaxIndex=0;

                for(int x=1;x<arr.length;x++){

                        if(arr[x]>arr[maxIndex])

                                maxIndex=x;

                }

                return  arr[maxIndex];

        }

}

/**

对数组进行选择排序

@Param  arr接受一个元素为int类型的数组

*/

public static void selectSort(int[] arr){

        for(int x=0;x<arr.length-1;x++){

            for(int y=x+1;y<arr.length;y++){

                    if(arr[x]>arr[y])

                    swap(arr,x,y)

            }

        }

}

/**

用于给数组进行元素的位置置换

@Param  arr接受一个元素为int类型的数组

@Param   a
@Param    b

*/

public static void swap(int[] arr,int  a,int  b)(

        int  temp=arr[a];

        arr[a]=arr[b];

        arr[b]=temp;

)

/**

获取指定的元素在指定数组中的索引

@Param  arr接受一个元素为int类型的数组

@Prarm  key

@

*/

public static int getIndex(int[] arr,int  key){

        for(int  x=0;x<arr.length;x++){

                if(arr[x]==key)

                        return  x;

        }

        return  -1;

}

/**

将int数组转换成字符串。格式是[e1,e2,...]

@Param  arr接受一个元素为int类型的数组

@return  返回该类数组的字符串表现形式。

*/

public static String arrayToString(int[] arr){

        String   str="[";

        for(int x=0;x<arr.length;x++){

                if(x!=arr.length-1)

                    str=atr+arr[x]+", ";

                else

                    str=str+arr[x]+"]";

        }

        return  str;

}



class   ArrayToolDemo{

        public static void main(String[] args){

                int[] arr={4,8,2,9,72,6};

                ArrayTool  tool=new ArrayTool();//求最值

                int  max=ArrayTool.getMax(arr);

                    System.out.println("max="+max);

                int  index=ArrayTool.getIndex(arr,10);//查找一个角标(10)

                    System.out.println("index="+index);

        }

}


                                                单例设计模式——概述——体现

设计模式:对问题行之有效的解决方式。其实它是一个思想。

1单例设计模式:

    解决问题:就是可以保证一个类在内存中的对象唯一性。

必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性。


如何保证对象的唯一性呢?

1,不予许其他程序用new创建该类对象

好处:可以避免产生多个对象。

2,在该类中创建一个本类实例。

3,对外提供一个方法让其他程序可以获取该对象。

步骤:

1,私有化该类构造函数

2,通过new在本类中创建一个本类对象

3,定义一个公有的方法,将创建的对象返回。   例1:

例1:

//饿汉式

class  String//类一加载,对象就已经不存在了。

{

        private static Single  s=new Single();//创建本类对象

        private Single(){}//私有构造函数

        public static Single   getInstance()//对外提供一个本类出去

        {                    //类型        //方法名

                return  s;//返回本类对象

        }

}

注:这是例1:上面的三个步骤。   getInstance(获取实例的意思)


例:

class  SingleDemo{

        public static void main(String[] args){

                Test  t1=new  Test();

                Test  t2=new   Test();

                t1.setNum(10);

                t2.setNum(20);

                System.out.println(t1.setNum());

                System.out.println(t2.setNum());

        }

}

class  Test{

        private  int  num;

        private static Test  t=new  Test();

        private  Test(){}

        public static Test  getInstance(){

                return  t;

        }

        public void setNum(int  num){

                this.num=num;

        }

        public int getNum(){

                return  num;

        }

}

                                                    

                                                            单例设计模式——懒汉式     面试题

//懒汉式

class  Single2

//类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象。

//另外也叫延迟加类形式

{

        private static Single2  s=null;

        private  Single2(){}

        public static Single2  getInstance(){

                if(s==null)

                        s=new  Single2();

                return  s;

        }

}


0 0
原创粉丝点击