数组

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

声明方式:
类型[] 变量名 = new 类型[长度]
或者
类型 变量名[] = new 类型[长度]
int[] a = new int[10];
double[] d;
String[] s;
Person[] p;

 

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

 

遍历和初始化(求int数组的和)
静态初始化 / 动态初始化
基础类型
引用类型
二维数组的初始化和定义: int[][] aa = new int[3][];



数组的对象都会有一个叫length的属性, 来记录长度

 

访问数组中的一个元素, 使用索引
索引从0开始
int[] a = {1,2,3,4,5};
a[2]
main方法中的字符串数组(模拟计算器)


冒泡排序 

public static void selectSort(int[] arr) {
  for (int i = 0; i < arr.length; i++) {
  int index = i;
  for (int j = i + 1; j < arr.length; j++) {
  if (arr[index] < arr[j]) {
  index = j;
  }
}
    int temp = arr[i];
    arr[i] = arr[index];
    arr[index] = temp;
  }
}

 

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-04 16:50  k丶灵  阅读(110)  评论(0编辑  收藏  举报