数组2

|----Arrays类中提供

1:booleanequals(array1,array2)

publicstaticvoid main(String[] args) {

           // TODO Auto-generated method stub

           int[] arr1=newint[]{21,20,11};

           int[] arr2=newint[]{21,20,11,10};

           int[] arr3=newint[]{210,20,11,90};

           boolean flag= Arrays.equals(arr1, arr2);

           boolean flag2=Arrays.equals(arr2, arr3);

           System.out.println("比较的结果:"+flag);

           System.out.println("比较的结果2"+flag2);

      }

|----小结:equals(数组名称,数组名称); 要求个数与内容一致才返回true,否则false

 

2:Arrays.tostring(数组名称); 不管当前数组是什么类型的,统一变成String(字符串类型)

String str= Arrays.toString(arr1);

           System.out.println("str:"+str);

 

 

3:Arrays.fill(数组名称,需要替换的数字或字符串);

Arrays.fill(arr1, 30);

 

4:Arrays.copyof(数组名称,长度);

5:binarySearch(array,val); 如果返回-1 说明没有找到

使用二分搜索法来搜索指定的 int 型数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过sort(int[]) 方法)。如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。

 

 

|-----插入排序  原理  ascii码 :美国推出一套工业数据交换的标准 A:二进制  八进制 十进制十六进制

 

 

|----把上述图变成代码

 

|----compareToIgnoreCase

/**

     * 功能:插入排序

     */

    publicstaticvoid main(String[] args) {

        // TODO Auto-generated method stub

        Scanner sc=new Scanner(System.in);

        //定义一个旧书架

        String[] oldBook=new String[]{"c#","html","java","sql"};

        //定义一个新书架

        String[] newBook=new String[oldBook.length+1];

        //新书

        String book="";

        //下标

        //int index=oldBook.length;

        int index=0;

        System.out.println("旧书架书:====================");

        for (String tt : oldBook) {

            System.out.print(tt+"\t");

        }

        System.out.println();

        //1:复制

        for(int i=0;i<oldBook.length;i++){

            newBook[i]=oldBook[i];//新书架最后一本是null

        }

        //2:提示用户输入新书

        System.out.println("请输入新书:");

        book=sc.next();

        //3:找到新书插入的位置

        for(int j=0;j<oldBook.length;j++){

            if(oldBook[j].compareToIgnoreCase(book)>0){

                //比较但忽略大小写 aefg Eabc 取差值oldBook[j]的首字母的ascii-book的首字母的asciil>0

                //记下下标

                index=j;

                break;

            }else{

                index=oldBook.length;

            }

        }

        //4:移位  

        for(int k=newBook.length-1;k>index;k--){

            newBook[k]=newBook[k-1];

        }

        //5:添加

        newBook[index]=book;

        System.out.println("添加新书后:-----------------------");

        for (String sg : newBook) {

            System.out.print(sg+"\t");

        }

    }

 

}

 

|------插入排序写活  一个字符串  companyIgnocase(第1个字母一样,比较第2个字母,除非所有字母都是一样的)

|-------插入排序  单个字符或数字 重复  companyIgnocase()>=0

publicstaticvoid main(String[] args) {

           // TODO Auto-generated method stub

           Scanner sc=new Scanner(System.in);

           String[] oldMusic=new String[4];

           String[] newMusic=new String[oldMusic.length+1];

           String music="";

           //下标

           int index=0;

           //1:输入

           for(int i=0;i<oldMusic.length;i++){

                 System.out.println("请输入第"+(i+1)+"首歌曲:");

                 oldMusic[i]=sc.next();

           }

           //2:排序

           Arrays.sort(oldMusic);//排序的原理:ascii码排序

           System.out.println("ascii码排序后:");

           for (String tt : oldMusic) {

                 System.out.print(tt+"\t");

           }

           System.out.println();

           //3:复制数组

           newMusic=Arrays.copyOf(oldMusic, 5);

           //4:插入歌曲

           System.out.println("请输入新歌:");

           music=sc.next();

           //5:找位置

           for(int j=0;j<oldMusic.length;j++){

                 if(oldMusic[j].compareToIgnoreCase(music)>=0){

                      //记下下标

                      index=j;

                      break;

                 }else{

                      index=oldMusic.length;

                 }

           }

           //6:移位

           for(int k=newMusic.length-1;k>index;k--){

                 newMusic[k]=newMusic[k-1];

           }

           //7:添加

           newMusic[index]=music;

           System.out.println("插入新歌后:");

           //8:输出添加的结果

           for (String st : newMusic) {

                 System.out.print(st+"\t");

           }

      }

 

 

|-----二维数组:使用!

 

publicstaticvoid main(String[] args) {

        // TODO Auto-generated method stub

        int[][] nums=newint[2][3];

        Scanner sc=new Scanner(System.in);

        //赋值

        for(int i=0;i<2;i++){

            System.out.println("请输入第"+(i+1)+":");

            //行数

            for(int j=0;j<3;j++){

                //列数

                System.out.println("请输入列:"+(j+1)+"数据:");

                nums[i][j]=sc.nextInt();

            }

        }

        System.out.println("遍历二维数组:");

        //遍历

        for(int i=0;i<2;i++){

            for(int j=0;j<3;j++){

                System.out.print(nums[i][j]+"\t");

            }

            System.out.println();

        }

    }

冒泡排序:

public static void bubbleSort(int []arr) {

               int[] arr = {12,23,34,56,56,56,78};

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

            for(int j=0;j<arr.length-i-1;j++) {//-1为了防止溢出

                if(arr[j]>arr[j+1]) {

                    int temp = arr[j];

                     

                    arr[j]=arr[j+1];

                     

                    arr[j+1]=temp;

            }

            }    

        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

brid_fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值