Arrays类的使用

主要是对数组进行操作。
1,替换
格式:

public static void fill(int[] a, form, to, int var) 

参数:

a--数组

form--替换开始位置(包括)

to--替换结束位置(不包括)

var--要替换的值

方式1:按要求替换

public void 替换() {
    int[] de= {1,2,3,4,5,6,7};    
    Arrays.fill(de,1,2,3);//替换:数组0开始。从序列1到2,不包括2
    System.out.println(Arrays.toString(de));//输出结果:[1, 3, 3, 4, 5, 6, 7]
}

方式2:全部替换

public void 替换() {
    int[] de= {1,2,3,4,5,6,7};    
    Arrays.fill(de,3);//全部替换
    System.out.println(Arrays.toString(de));//输出结果:[3, 3, 3, 3, 3, 3, 3]

}

 

2,比较
比较两个数组是否相同:返回true或false

public void 比较() {
    int[] de= {1,2,3};
    int[] de1=new int[] {1,2,3};
    System.out.println(Arrays.equals(de, de1));
    
}

 

3,检索

利用二分算法对已经排序的数组进行检索,如果包含检索值就返回该值的数组号,否则返回-1.
注意:如果数组里含有相同的属性,那将检索最排前面的并返回数组号

public void 检索() {
    int[] de= {32,1,2,3,4,90,7,8,567,897,1};
    Arrays.sort(de);
    System.out.print(Arrays.binarySearch(de,1));//检索:如果包含就返回数组索引号(如果有多个相同的就返回最前面的)//zhuyi:必须是已经排序好了的
    //输出结果
}

 

4,排序

Arrays类的sort方法,会将数组按升序排列。

public void 排序() {
    //排序
int de[]= {9,5,32,2,6,7,1,11,53,4,64,};
  Arrays.sort(de);
for(int io:de)System.out.print(io);//124567911325364
System.out.println("");
String[] dee=new String[4];
dee[0]=("你好世界76");
dee[1]=("你好世界1");
dee[2]=("你好世界2");
dee[3]=("你好世界3");
Arrays.sort(dee);
for(String io:dee)System.out.print(io);//你好世界1你好世界2你好世界3你好世界76
}

方法2:逐一替换法

//排序
int de[]= {1,12,0,0,3,12,0,432,432,543,54,54,65,7,78,78,3,423,65,867,7,9,5,32,2,6,7,1,11,53,4,64,};

int de1=0;//挑选最大值(先初始化)
for(int i=0;i<de.length;i++) {
    for(int ii=i+1;ii<de.length;ii++) {//嵌套循环挑出最大值赋值de1
    de1=de[i];
    if(de1<de[ii]) {
        de[i]=de[ii] ;
        de[ii]=de1;
        //调换
    }    
    }
    }
for(int io:de)System.out.println(io);

解释:
先挑出最大的值,然后将其第一个与最大值置换。以此类推

 

posted @ 2020-02-05 18:05  脱裤放屁?  阅读(162)  评论(0)    收藏  举报