您的位置:

java中数组常用的一些操作(java 数组操作)

本文目录一览:

java数组的相关操作

1.在Java 中所有的数组都在一个缺省的属性Length,用于获取数组中元素的个数.

2.数组的复制System.arraycopy()

3.数组的排序Arrays.sort()

4.在已排序的数组中查找某个元素Arays.binarySearch()*/

import java.util.Arrays; //对数组排序时要导入此包.

class ArrayTest

{

public static void main(String[] args)

{

/*int [] num1=new int [] {1,2,3};

int [] num2=new int [3];

System.arraycopy(num1,0,num2,0,num1.length);

for(int i=0;inum2.length;i++)

{

System.out.println(num2[i]);

}*/

//对象数组的copy

/*Point [] pts1=new Point []{ new Point(1,1),new Point(2,2),new Point(3,3)};

Point [] pts2=new Point[3];

System.arraycopy(pts1,0,pts2,0,pts1.length);

for(int i=0;ipts1.length;i++)

{

System.out.println("x="+pts1[i].x+","+"y="+pts1[i].y);

}

pts2[2].x=6;//对pts1[2].x也进行了修改.

pts2[2].y=6;//对pts1[2].y也进行了修改.

System.out.println("x="+pts1[2].x+","+"y="+pts1[2].y);*/

//数组的排序

/*int [] num=new int []{3,1,2};

Arrays.sort(num);

for (int i=0;inum.length;i++)

{

System.out.println(num[i]);

}

int index=Arrays.binarySearch(num,3);

System.out.println("index="+index);

System.out.println("element="+num[index]);*/

Student [] st=new Student[]{new Student(1,"zhangsan"),

new Student(2,"lisi"),

new Student(3,"wangwu"),

new Student(3,"mybole")};

Arrays.sort(st);

for(int i=0;ist.length;i++)

{

System.out.println(st[i]);

}

}

}

//要对对象进行排序必须实现comparable接口

class Student implements Comparable

{

int num;

String name;

Student(int num,String name)

{

this.num=num;

this.name=name;

}

//重写toString方法

public String toString()

{

return "number="+num+","+"name="+name;

}

public int compareTo(Object o)//覆盖Comparable中的CompareTo方法.

{

Student s=(Student)o;

//return nums.num?1:(num==s.num?0:-1);

int rusult=nums.num?1:(num==s.num?0:-1); //在num相同时,对name进行排序.

if(0==rusult)

{

rusult=name.compareTo(s.name);//对于比较字符类型的,在String类中已经重写的compareTo方法,可以直接使用.

}

return rusult;

}

}

class Point

{

int x,y;

Point(int x,int y)

{

this.x=x;

this.y=y;

}

}

Java数组有哪些用法

数组:是一组相关变量的集合数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组

数据的有点不使用数组定义100个整形变量:int i1;int i2;int i3

使用数组定义 int i[100];

数组定义:int i[100];只是一个伪代码,只是表示含义的(1)一维数组

一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,声明形式一声明一维数组:数据类型 数组名[]=null;非配内存给数组:数组名=new 数据类型[长度];声明形式二声明一维数组:数据类型 [] 数组名=null;

(2)java数据类型分为两大类1.基本数据类型int、long操作的时候本身就是具体的内容引用数据类型:数组、类、接口

引用传递的就是一个内存的使用权,一块内存空间,可能有多个人同时使用

2.事例声明数组

数组的声明格式里,数据类型是数组元素的数据类型,常见的有整形、浮点型、与字符型等数组名是用来统一这组相同数据类型元素的名称,其命名规则和变量的相同数组声明后实际上是在栈内存中保存了此数组的名称,结下了是要在堆内存中配置数组所需要的内存,齐产固定是告诉编译器,所声明的数组要存放多少个元素,而new 则是命令编译器根据括号里的长度。

基本数据类型偶读有其默认值:int 0;只要是引用数据类型默认值就是null事例

声明数组的同时分配内存空间声明数组的同时非配内存数据类型 数组名[]=new 数据类型[个数]int score[]=new int[10];声明一个元素个数为10的整形数组score,同时开辟依靠内存空间工期使用java中,由于整形数据类型占用的空间为4个byte,而整个数组score可保存的元素有10个。所以上例中占用的内存共有4*10=40个字节

(3)数组的访问

数组中元素的表示方法想要访问数组里的元素可以利用索引来完成,java的数组索引标号由10开始,以一个score[10]的整形数组为例,score[0]代表第一个元素一直向下,最后一个为score[9]

(4)取得数组的长度在java中取得数组的长度(也就是数组元素的长度)可以利用数组名称.length完成,数组名称.length--返回一个int类型的数据

(5)数组的静态初始化之前的数组,所采用的都是动态初始化,所有的内容在数组声明的时候并不具体的指定,而是以默认值的形式出现静态初始化是指在数组声明后直接为数组指定具体的内容如果想要直接在声明的时候给数组赋初始值,可以采用大括号完成,只要在数组的生命格式后面加上初值的赋值即可,数据类型 数组名 []={初始值0,初始值1,初始值3,....初始值n};

范例排序,在操作中排序是比较常用的从大到小

这个时候不要被i值所迷惑   if(score[i]score[j]){

这一步主要知识为了比较,实际上完成之后输出的时候是根据j的值排序的

(6)二维数组

二维数组声明的方式和以为数组的类似,内存分配也一样是用new这个关键字

其实声明与分配内存的格式如下动态初始化数据类型 数组名[][];数组名=new 数据类型[行的个数][列的个数];

声明并初始化数组数据类型 数组名[][]=new 数据类型[行的个数][列的个数];静态初始化

(7)二维数组的存储声明二维数组score 同时开辟一段内存空间int score[][]=new int[4][3];整体数据score可保存的元素是4*3=12个,在java中,int数据类型所占用的空间为4个字节,因此该整形数组占用的内存共为4*12=48个字节事例

(8)二维数组静态初始化

用到的时候才会开辟空间,不用的(红色部分)则不开辟空间多维数组一般只是用到二维数组三维数组简单了解

如何使用 java 中的数组 java 中操作数组只需要四个步骤:1,声明数组 语法:数据

public class a{

    public static void main(String[] args){

        //方法一

        int a[];//声明一个名字为a的整形数组

        a=new int[3];//为名字为a的整形数组创建3个整数的存储空间

        a[0]=2;//为名字为a的整形数组中0角标的整数赋值为2

        a[1]=5;//为名字为a的整形数组中1角标的整数赋值为5

        a[2]=7;//为名字为a的整形数组中2角标的整数赋值为7

        //方法二

        int b[]=new int[3];//声明一个名字为b的整形数组并同时为这个整形数组创建3个整数的存储空间

        b[0]=2;//为名字为b的整形数组中0角标的整数赋值为2

        b[1]=5;//为名字为b的整形数组中1角标的整数赋值为5

        b[2]=7;//为名字为b的整形数组中2角标的整数赋值为7

        //方法三

        int c[]={2,5,7}//声明一个名字为c的整形数组并同时为这个整形数组创建3个整数的存储空间并把0角标的整数值赋值为2,把1角标的整数值赋值为5,把2角标的整数值赋值为7

        //方法四

        int d[]=new int[]{2,5,7};//声明一个名字为d的整形数组并同时为这个整形数组创建3个整数的存储空间并把0角标的整数值赋值为2,把1角标的整数值赋值为5,把2角标的整数值赋值为7

        //注意:以上方法的结果一致,只是数组名字不同

    }

}

在Java中对数组主要进行的操作有什么~

主要有排序,增加元素,删除元素,修改元素,查找元素,复制数组到新的数组

Java数组的几种常用操作方法

int[] num = {5,4,3,2,1};

for(int i = 0; i num.length - 1; i++) {

for (int j = i + 1; j num.length; j++) {

if (num[i] num[j]) {

int tmp = num[i];

num[i] = num[j];

num[j] = tmp;

}

}

System.out.print("排序后:" + num[i]);

}