数组arrays

特点:

1、元素是同一数据类型

2、有序:通过顺序下标访问数组元素

3、数组容量在定义数组之后是固定不变的

4、数组下标从0开始

5、存储数组元素的空间地址是连续的

 

数组定义

数据类型[]  变量 = new 数据类型[容量]
int[]  i = new int[10] ;

 

数组的三种初始化:静态初始化、默认初始化、动态初始化

        //动态初始化
        int[] data = new int[3] ;
        data[0] = 5 ;
        data[1] = 6 ;
        data[2] = 7 ;
        //静态初始化
        int[] data1 = {1,2,3} ;
     int[] data2 = new int[]{1,2,3} ;

 

 

 

数组循环

利用数组的length属性遍历数组:可写可读

public class Demo {
    public static void main(String[] args) {
        int[] data = new int[3] ;
        data[0] = 5 ;
        data[1] = 6 ;
        data[2] = 7 ;
        for(int i=0;i<data.length;i++) {
            System.out.println(data[i]);
        }
        
    }
}

 foreach循环数组:读取数组元素

public class Demo {
    public static void main(String[] args) {
        int[] data = new int[3] ;
        data[0] = 5 ;
        data[1] = 6 ;
        data[2] = 7 ;
        for(int i : data) {
            System.out.println(i);
        }
    }
}

 

数组的拷贝

System.arraycopy(src, srcPos, dest, destPos, length);

    private static void copy1() {
        String[] s1 = {"aa","bb","cc","dd"} ;
        String[] s2 = new String[10] ;
        System.arraycopy(s1, 2, s2, 3, 2);
        for(int i=0;i<s2.length;i++) {
            System.out.println(i+" "+s2[i]);
        }
    }

    /**
     * 删除字符串数组中指定索引位置的元素,并将元素返回
     */
    public static String[] copy4(String[] s,int index) {
        System.arraycopy(s, index, s, index-1, s.length-index);
        s[s.length-1] = null ;
        for(int i=0;i<s.length;i++) {
            System.out.println(i+" "+s[i]);
        }
        return s ;
    }

 

Arrays工具类

public static void toString()

public static void sort()

一个数组可以排序,需要数组元素的类实现Comparable接口,实现compareTo(Object o) 方法

若小于返回负数,大于返回整数,否则返回0

 

二分法查找

public static int binarySearch(数组,元素):找到返回索引,否则返回负数

注意:二分法查找数组,数组中的元素需要排序

 

二维数组

 

 

 

 

zwy

 

posted @ 2019-02-01 21:14  zwyk  阅读(73)  评论(0)    收藏  举报