java之数组

142 阅读3分钟

一 数组的概术

1 数组的理解

数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并通过编号的 方式对这些数据进行统一管理。

2. 数组相关的概念:

数组名 元素 角标、下标、索引 数组的长度:元素的个数

3 数组的特点

  1. 数组是序排列的
  2. 数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型
  3. 创建数组对象会在内存中开辟一整块连续的空间
  4. 数组的长度一旦确定,就不能修改。

4 数组的分类

① 按照维数:一维数组、二维数组、。。。

② 按照数组元素的类型:基本数据类型元素的数组、引用数据类型元素的数组

5 数组结构:

  1. 数据与数据之间的逻辑关系:集合(关系很弱)、一对一(数组里面的元素)、一对多(二叉树)、多对多(社交网络)
  2. 数据的存储结构: 线性表:顺序表(比如:数组)、链表、栈、队列 树形结构:二叉树 图形结构:

一维数组

一维数组的生命和初始化

` int num ; // 声明 num = 10 // 复制 int id = 1001;

int [] ids; //声名 //1.1 静态初始化:数组的初始化和数组元素的赋值操作同时进行 ids = new int[]{1001,1002,1003,1004} ///1.2动态初始化:数组的初始化和数组元素的赋值操作分开进行 String[] name = new string[5];

int[] arr4={1,2,3,4} `

3 数组的属性

1 length “说明: 数组一旦初始化,其长度就是确定的。arr.length 数组长度一旦确定,就不可修改。” 2 数组的遍历 for(int i = 0 ; i < arr4.length; i++){ sout() }

二维数组

  • 规定:二维数组分为外层数组的元素,内层数组的元素
  •  int[][] arr = new int[4][3];
    
  •  外层元素:arr[0],arr[1]
  •  内层元素:arr[0][0],arr[1][2]
  • ⑤ 数组元素的默认初始化值
  • 五、Arrays工具类的使用 针对于初始化方式一:比如:int[][] arr = new int[4][3];

  •  外层元素的初始化值为:地址值
    
  •  内层元素的初始化值为:与一维数组初始化情况相同
    
  • 针对于初始化方式二:比如:int[][] arr = new int[4][];
  •  外层元素的初始化值为:null
    
  •  内层元素的初始化值为:不能调用,否则报错。
    

五、Arrays工具类的使用

1 理解 ① 定义在java.util包下。 ② Arrays:提供了很多操作数组的方法。 2 使用

int arr1[] = new int[] { 21, 43, 542, 432, 4, 2, 5, 1 };
int arr2[] = new int[] { 32, 43, 4, 1, 4, 76, 54, 68, 4 };
// 1.Arrays.equals(arr1, arr2):判断数组是否相等 
System.out.println(Arrays.equals(arr1, arr2)); 
// 2.Arrays.toString(arr1):输出数组信息 
System.out.println(Arrays.toString(arr1));
// 3.Arrays.fill(arr1, 2):
将指定值填充到数组中 Arrays.fill(arr1, 2); 
System.out.println(Arrays.toString(arr1));
// 4.Arrays.sort(arr2):
对数组进行排序 Arrays.sort(arr2); 
System.out.println(Arrays.toString(arr2));
// 5.Arrays.binarySearch(arr2, 1):
堆排序好的数组用二分法检索指定值
int index = Arrays.binarySearch(arr2, 1); 
System.out.println(index);