JAVA -数组
来源:互联网 发布:java泛 泛型参数 传参 编辑:程序博客网 时间:2024/06/10 17:37
java数组 数组对于每一门编程语言来说都是重要的数据结构之一 当然不同语言对数组的实现及处理也不尽相同
java语言中提供的数组是用来**存储固定大小**的**同类型**的元素
一、数组的声明
1 、直接new 在赋值
// 数组大小
int size = 10;
// 定义数组
double[] myList = new double[size];
int[] myInt = new int[size];
String[] myStringList = new String[size];
byte[] byteList = new byte[size];
myList[0] = 2.4;
myInt[0] = 1;
myStringList[0] = "test";
byteList[0] = 1;
2、 直接new 并赋值
int[] myInt1 = new int[]{1,2,3,4};
3、 不需要new 直接定义赋值
int[] myInt2 = {1,3,4};
二、处理数组
double[] myList1 = {1.9, 2.9, 3.4, 3.5};
// 打印所有数组元素
for (int i = 0; i < myList1.length; i++) {
System.out.println(myList[i] + " ");
}
// 打印所有元素的总和
double total = 0;
for(int i = 0 ; i < myList1.length ; i++){
total += myList1[i];
}
System.out.println("总和:"+total);
//查找最大元素
double max = myList1[0];
for(double elenment : myList1){
if(elenment > max){
max = elenment;
}
}
System.out.println("最大值 : "+max);
三 数组作为参数和返回值
public class Arr {
public static void main(String[] args) {
int[] result = Arr.reverse(new int[] { 1, 3, 4, 5, 6, 7, 7, 8 });
System.out.println("数组长度:" + result.length);
for (int i = 0; i < result.length; i++) {
System.out.println("数组内容:第" + i + "个 元素 =" + result[i]);
}
}
// 作为参数
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
// 作为返回值
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
for (int i = 0, j = list.length; i < list.length; i++, j--) {
result[i] = j;
}
return result;
}
}
四、多维数组
1、定义多维数组
//第一种定义二维数组写法
int [][] a; //定义一个int类型的二维数组
a = new int[5][5]; //为二维数组分配空间大小
//通过下标的方式 为数组赋值
a[0][0] = 1;
a[1][0] = 2;
a[2][0] = 3;
System.out.println(a[0][0]);
System.out.println(a[1][0]);
System.out.println(a[2][0]);
//第二种定义二维数组的写法
int[][] aa = new int[2][3]; //定义数组的同时为其分配空间大小
//通过下标的方式 为数组赋值
aa[0][0] = 33;
aa[1][0] = 44;
aa[1][1] = 55;
aa[0][1] = 33;
for(int i = 0 ; i < aa.length ; i++){
for(int j = 0 ; j < aa[0].length ; j++){
System.out.println(aa[i][j]);
}
}
//
// 第三种定义二维数组 不规则数组
int[][] aaa = new int[2][];
aaa[0]=new int[5]; //为第1行分配5列
aaa[1] = new int[6]; //为第2咧分配6列
aaa[0][4] = 1;
aaa[1][5] = 2;
System.out.println(aaa[0][4]);
System.out.println(aaa[1][5]);
System.out.println(aaa[0][2]);
// 第四种 定义二维数组同时赋值
int[][] aaaa = new int[][]{{1,2,3},{1,2},{5}};
// 第5种 定义二维数组同时赋值
int[][] b = {{1,2,3},{1,2},{5}};
// 第6种 定义二维数组同时赋值
String[][] ss = new String[][]{{"1","11","111"},{"2","22","222"}};
2 二维数组的引用
使用下标进行引用
五、arrays 的常用方法
java.util.Arrays 类 能方便的操作数组 它提供的所有方法都是静态的
1 fill 给数组赋值
2 sort 给数组排序 升序
3 equals 方法比较数组中 元素值是否相等
4 binarySearch 能对排序好的数组进行二分查找法操作
package com.java.arr;
import java.util.Arrays;
public class Arr1 {
public static void output(int[]array){
if(array !=null){
for(inti = 0 ; i < array.length ;i++){
System.out.println(array[i]);
}
}
}
public staticvoid main(String[] args) {
int[] array = new int[5];
//填充数组
Arrays.fill(array, 5);
Arr1.output(array);
System.out.println("=================");
//将数组中 第二个元素和第三个元素 赋值为 8 1 和4 为修改的开始和结束位置的下标 8为填充的内容
Arrays.fill(array, 1,4,8);
Arr1.output(array);
System.out.println("=================");
//对数组的第二个到第6个 进行排序
int[] arr1 = {7,8,1,3,2,12,6,4,9};
Arrays.sort(arr1,2,7);
Arr1.output(arr1);
System.out.println("=================");
//对整个数组进行排序
Arrays.sort(arr1);
Arr1.output(arr1);
System.out.println("=================");
//比较数组元素是否相等
System.out.println("比较数组元素是否相等:Arrays.equals(array, array1):"+"\n"+Arrays.equals(array,arr1));
int[] array2 = arr1.clone();
System.out.println("克隆后数组元素是否相等:Arrays.equals(array1, array2):"+"\n"+Arrays.equals(arr1,array2));
System.out.println("=================");
//使用二分搜索算法查找指定元素所在的下标(必须是排序好的 否则结果不正确)
Arrays.sort(arr1);
System.out.println(Arrays.binarySearch(arr1, 3));
}
}
- java数组添加数组
- java数组添加数组
- Java数组-二维数组
- 【Java】数组--二维数组
- java-数组/二维数组
- Java数组、遍历数组
- java数组
- JAVA数组
- JAVA数组
- JAVA数组
- Java数组
- Java数组
- java数组
- java数组
- java数组
- Java--数组
- Java数组
- java 数组
- C
- A request has been denied as a potential CSRF attack.
- Spring Boot配置多数据源并实现Druid自动切换
- 标准模板库STL学习总结
- animation-fill-mode
- JAVA -数组
- 3 Traffic Server中transform的理解
- Android 自定义View (一)
- Java控制语句
- JVM(1):Java 类的加载机制
- C_栈和队列----queue队列容器
- 基于Dragonboard 410c的燃气烟雾检测器(三)
- 安装nodejs
- SharedPreferences详解