JavaSE数组

2021-04-30 13:30

阅读:382

标签:equal   需要   声明变量   改变   print   运算符   art   数组元素   int end   

目录
  • 数组初始化与匿名数组
    • 数组的声明
    • 初始化
    • 匿名数组
  • 数组拷贝
  • 数组排序

数组初始化与匿名数组

数组的声明

  • 以下语句仅仅是声明变量a,并没有对a进行初始化成为真正的数组
int[] a;
int a [];

初始化

  • 使用new运算符创建数组
  • 不使用new运算符
// 使用new
int[] a = new int [100];

// 创建数组对象并同时赋予初始值
int[] small Primes = { 2, 3, 5, 7, 11, 13 };

1、创建一个数字数组时,所有元素都初始化为0
2、boolean 数组的元素会初始化为fals
3、对象数组的元素则初始化为一个特殊值null,这表示这些元素还未存放任何对象
4、一旦创建了数组, 就不能再改变它的大小,如果经常需要在运行过程中扩展数组的大小, 就应该使用另一种数据结构—数组列表(array list)

匿名数组

// 将创建一个新数组并利用括号中提供的值进行初始化,数组的大小就是初始值的个数
new int[] { 17, 19, 23, 29, 31, 37 }
// 这种语法形式可以在不创建新变量的情况下重新初始化一个数组
int[] b = new int[] { 17, 19, 23, 29, 31, 37 }

数组拷贝

在Java 中, 允许将一个数组变量拷贝给另一个数组变量。这时, 两个变量将引用同一个数组

int[] old = {90,80,70};
int[] num = old;
System.out.print(num[1]); // is 80

如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays 类的copyOf方法

int[] old = {90,80,70};

// 参数2:指定新数组的长度
int[] num = Arrays.copyOf(old, old.length);

// 通常可以使用第二参数来扩充数组的大小
int[] num1 = Arrays.copyOf(old, old.length * 2);

PS: 如果数组元素是数值型,那么多余的元素将被赋值为0;如果数组元素是布尔型,则将赋值为false。相反,如果长度小于原始数组的长度则只拷贝最前面的数据元素

数组排序

方法 描述
static void sort(type [] a) 采用优化的快速排序算法对数组进行排序
static int binarySearch(type[]a, int start, int end, type v) 采用二分搜索算法查找值v。如果查找成功,则返回相应的下标值;否则,返回一个负数值
static void fill(type[]a , type v) 将数组的所有数据元素值设置为V
static boolean equals(type[]a, type[]b) 如果两个数组大小相同,并且下标相同的元素都对应相等,返回true
static type copyOf(type[]a, int length) 返回与a 类型相同的一个新数组

JavaSE数组

标签:equal   需要   声明变量   改变   print   运算符   art   数组元素   int end   

原文地址:https://www.cnblogs.com/code-duck/p/13226837.html


评论


亲,登录后才可以留言!