「java中数组中修改」哪些方法修改了原数组

博主:adminadmin 2023-01-25 17:39:06 401

今天给各位分享java中数组中修改的知识,其中也会对哪些方法修改了原数组进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java中数组的长度可以改变吗

java中数组的长度不可以改变。

java中的数组的定义就是相同类型,固定长度的一组数据,一旦被初始化,长度不可更改。如果对需要用的数组的长度不确定,有两种解决办法:

第一种是在数组初始化的时候长度申请的足够大,这样做会造成内存空间的浪费,一般不推荐使用。

第二种是用java中提供的集合的方式存储数据,如List,Set和Map类型的对象存储数据,一方面这些类型的对象的长度都是动态增长的,另一方面这些类中提供了很多便于操作数据的方法,因此在对所需存储数据的多少不确定的时候,第二种方法比第一种方法更优秀。

java使用方法改变数组的值

package com.vortex.test.type;

public class ArrayUtilE {

/**

*

* @param arr 需要改变的数组

* @param index 需要改变的下标

* @param newValue 新的值

* E 泛型: 数组对象类型:例如 String、Integer或者自定义对象类型

* @return

*/

public E[] chageValue(E[] arr,int index,E newValue){

try{

arr[index] = newValue;

}catch(Exception e){

System.out.println(e.getMessage());

}

return arr;

}

public static void main(String[] args) {

ArrayUtilString au = new ArrayUtilString();

String[] arr = {"1","2","3","4"};

System.out.println("修改前");

for(int i=0;iarr.length;i++){

String val = arr[i];

System.out.println("第"+i+"个元素 为"+val);

}

arr = au.chageValue(arr, 0, "100");

System.out.println("修改后");

for(int i=0;iarr.length;i++){

String val = arr[i];

System.out.println("第"+i+"个元素 为"+val);

}

ArrayUtilUser user_au = new ArrayUtilUser();

User[] user_arr = {new User("张三",22),new User("李四",23),new User("王五",21)};

System.out.println("修改前");

for(int i=0;iuser_arr.length;i++){

User u = user_arr[i];

System.out.println("第"+i+"个元素 name="+u.getName()+" age="+u.getAge());

}

user_arr = user_au.chageValue(user_arr, 0, new User("赵六",25));

System.out.println("修改后");

for(int i=0;iuser_arr.length;i++){

User u = user_arr[i];

System.out.println("第"+i+"个元素 name="+u.getName()+" age="+u.getAge());

}

}

}

class User{

private String name;

private int age;

public User(String name, int age) {

super();

this.name = name;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

java怎样对数组里面的数据进行增、删、查、改?

您好, 删除delete(a,4); 删除index=4的数据,即a[4]=4 删除

批量删除delete(a,2)删除所有a[i]=2的数据,即a[2] 、a[6]、 a[7]删除

原题就这么写的,两个方法名一样,参数一样,功能却不一样。

class TestArray{

public static void main(String[]args){

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

print(add(a,9,2));

print(delete(a,3));

select(a,2);

print(change(a,2,98));

print(deleteAll(a,2));

}

//增

public static int[] add(int[] array,int num,int index){

int[] result=new int[array.length+1];

for(int i=0,j=0;iarray.length;i++,j++){

if(j==index){

result[j]=num;

i--;

}else{

result[j]=array[i];

}

}

return result;

}

//删

public static int[] delete(int[] array,int index){

int[] result=new int[array.length-1];

for(int i=0,j=0;iarray.length;i++,j++){

if(i==index){

j--;

}else{

result[j]=array[i];

}

}

return result;

}

//查

public static void select(int[] array,int num){

int count=0;

for(int i=0;iarray.length;i++){

if(array[i]==num){

System.out.println("index"+i+"的值为"+num);

count++;

}

}

if(count==0)

System.out.println("找不到");

}

//改

public static int[] change(int[] array,int index,int num){

array[index]=num;

return array;

}

//批量删除

public static int[] deleteAll(int[] array,int num){

int j=0;

for(int i=0;iarray.length;i++){

if(array[i]==num){

j++;

}

}

int[] result=new int[array.length-j];

j=0;

for(int i=0;iarray.length;i++){

if(array[i]!=num){

result[j++]=array[i];

}

}

return result;

}

//打印数组

public static void print(int[] array){

for(int i:array){

System.out.print(i+" ");

}

System.out.println();

}

}

java中数组中修改的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于哪些方法修改了原数组、java中数组中修改的信息别忘了在本站进行查找喔。