首页 > 编程语言 > 详细

JavaSE数组

时间:2020-07-02 21:14:43      阅读:46      评论:0      收藏:0      [点我收藏+]

数组初始化与匿名数组

数组的声明

  • 以下语句仅仅是声明变量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数组

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!