java数组

 数组概念:

数组可以看成是多个相同类型数据的集合, 对这些数据的统一管理;
    数组的变量是引用类型, 数组也本身也是个对象, ;
        数组中的每个元素相当于该对象的成员变量;
    数组的元素可以是任何的数据类型, 包括基本数据类型和引用类型。

声明方式:
    类型[] 变量名 = new 类型[长度]
    或者
    类型 变量名[] = new 类型[长度]

声明数组时要使用 new 关键字,
        1, 必须声明数组的长度, int[] a = new int[5];
        2, 也可以直接定义数组的内容 int[] a = { 1, 2, 3 }
        3, 数组的长度一旦被定义, 则不可再变

二维数组的初始化和定义: int[ ][ ] aa = new int[3][ ];

练习:
    // 分数计算
    500逢3退1

boolean[] bool = new boolean[500];
		for (int i = 0; i < bool.length; i++) {
			bool[i] = true;
		}
		int com1 = 0;  //记录数到队伍中的第几个
		int com2 = 0;  //数数123
		int com3 = bool.length;  //队伍中还剩多少人
		while (com3 != 1) {
			if(bool[com1]) {
				com2++;
				if(com2 == 3) {
					bool[com1] = false;
					com2 = 0;
					com3--;
				}
			}
			com1++;
			if(com1 == 500) {
				com1 =0;
			}
		}
		for (int i = 0; i < bool.length; i++) {
			if(bool[i]) {
				System.out.println(i);
			}
		}

 数组排序
    冒泡排序
    直接选择排序
    反转排序

Arrays工具类
    数组排序 Arrays.sort(arr); // 快速排序
    填充数组 Arrays.fill(arr, 5); // 填充数组
    数组的复制 Arrays.copyOf(arr, 5);
        // 数组复制
            如果新数组的长度不如被复制的数组长度长
            有多少取多少

            如果新数组的长度比较长, 不足的部分用0填充
    数组的范围复制 Arrays.copyOfRange();
        索引的范围, 包括开始, 不包括结束

    比较两个数组是不是一样 Arrays.equals(int[] a, int[] b);
        
    数组查询 binarySearch();---二分搜索法---必须先排序
        如果有, 返回值是该数的索引
        如果没有, 返回值是该数应该所在的索引加1的相反数
    数组的范围查询

posted @ 2018-05-01 20:16  weizihao  阅读(92)  评论(0编辑  收藏  举报