Java读书笔记——06 数组

数组

存储同一类型值的集合。一旦创建数组就不能改变大小,如果需要经常扩展大小,应使用array list(数组列表)。

for each 循环

遍历数组值,不需要使用下标值。适用于需要处理所有元素的情况,否则还是使用传统for循环。

//for(variable:collection) statement
for(int element : a)
    System.out.println(element);

//打印数组的另一种方法
System.out.println(Arrays.toString(a));


匿名数组

在不创建新变量的情况下重新初始化一个数组。
数组长度可以为0(与null不同)。

smallPrimes = new int[]{17,19,23,29,31,37};
//相当于
int[] a = {17,19,23,29,31,37};
smallPrimes = a;


数组拷贝

//直接等于时是两变量引用同一数组(定义指针而已)
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12;//现在smallPrimes[5]也是12

数组值都保存在堆内存中。

API

java.util.Arrays 1.2
• static String toString(type[] a) 5.0
返回包含a中数据元素的字符串,这些数据元素被放在括号内,并用逗号分隔。
• static type copyOf(type[] a, int length) 6
• static type copyOf(type[] a, int start, int end) 6
返回与a类型相同的一个数组。
start 起始下标(包含这个值)。
end 终止下标(不包含这个值)。
length 拷贝的数据元素长度。
• static void sort(type[] a)
采用优化的快速排序算法对数组进行排序。
• static int binarySearch(type[] a, type v)
• static int binarySearch(type[] a, int start, int end, type v) 6
采用二分搜索算法查找值v。如果查找成功,则返回相应的下标值;否则,返回一个负数值r。-r-1是为保持a有序v应插入的位置。
start 起始下标(包含这个值)。
end 终止下标(不包含这个值)。
v 同a的数据元素类型相同的值
• static void fill(type[] a, type v)
将数组的所有数据元素值设置为v
• static boolean equals(type[] a, type[] b)
如果两个数组大小相同,并且下标相同的元素都对应相等,返回true。
java.lang.System 1.1
• static void arraycopy(Object from, int fromIndex, Object to, int toIndex,
int count)
将第一个数组中的元素拷贝到第二个数组中。
from 任意类型的数组。
fromIndex 原始数组中待拷贝元素的起始下标。
to 与from同类型的数组。
toIndex 目标数组放置拷贝元素的起始下标。
count 拷贝的元素数量。

Java中都是一维数组,多维数组是数组的数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值