java学习笔记--一维数组

7.2数组的基本知识
- 数组是引用
- 数组初始化语法:数组初始化语法中不使用操作符NEW。使用数组初始化语法时,必须将声明、创建、和初始化数组都放在一个语句中。


```
elementType[] arrayRefVar = {value0,value1......}
```
- 处理数组:对于char[]类型的数组,可以用一条语句打印


```
char[] city={'D','a','v','f'};
syso(city);
```
- 随机打乱:对数组中的元素随机任意的重新排序
- foreach()


7.5数组的复制:
- 数组复制的三种方法:
- 使用循环语句
- 使用system里的静态方法arraycopy
- 使用clone方法复制数组
7.9可变长参数列表
- 在java里,可变长参数可以传递给方法,并作为数组对待


```
public class Changelong {
public static void main(String[] args) {
printMax(34, 3, 5, 9, 5);
printMax(new double[] { 1, 2, 3 });
}


private static void printMax(double... number) {
if (number.length == 0) {
System.out.println("error");
}


double max = number[0];
for (int i = 0; i < number.length; i++) {
if (number[i] > max) {
max = number[i];
}
}
System.out.println("max=" + max);
}
}
```


7.10数组的查找
- 线性查找法
- 二分查找法(必须排好序)


7.11数组的排序
- 选择排序
```
public static void select(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
int currentmin = array[i];
int currentindex = i;
for (int j = i + 1; j < array.length; j++) {
if (array[j] < currentmin) {
currentmin = array[j];
currentindex = j;
}
}
if (currentindex != i) {
array[currentindex] = array[i];
array[i] = currentmin;
}
}
}
```
- 快速排序


7.12Array类
- 可以使用sort、paralleSort方法来对整个数组或者部分数组进行排序,该方法没有返回值为viod类型,由于数组是引用类型


```
double[] numbers = { 6.0, 4.4, 1.9, 2.9, 3.4, 3.5 };
java.util.Arrays.sort(numbers);  
java.util.Arrays.parallelSort(numbers);
java.util.Arrays.sort(numbers, 1, 3); 可以对数组的1到3-1的元素进行排序
java.util.Arrays.parallelSort(numbers, 1, 3);
```
- 可以使用equals方法检测两个数组是否相等,返回boolean类型


```
java.util.Arrays.equals(a, a2);
```
- 可以使用fill方法来填充整个数组或者部分数组,下列代码将5填充到list1中,将8填充到元素list2[1]到list2[5-1]中


```
int[] list1 = { 1, 2, 3, 4 };
int[] list2 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
java.util.Arrays.fill(list1, 5);
java.util.Arrays.fill(list2, 1, 5, 8);
```
- 可以使用toString的方法来返回一个字符串,该字符串代表了数组中的所有元素


```
int list[] = { 1, 2, 3, 4 };
System.out.println(java.util.Arrays.toString(list));
运行结果:[1, 2, 3, 4]
```





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值