真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java代碼改變數(shù)組元素 java定義變長數(shù)組

java使用方法改變數(shù)組的值

package com.vortex.test.type;

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了泉山免費(fèi)建站歡迎大家使用!

public class ArrayUtilE {

/**

*

* @param arr 需要改變的數(shù)組

* @param index 需要改變的下標(biāo)

* @param newValue 新的值

* E 泛型: 數(shù)組對象類型:例如 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中怎么修改ArrayList()中元素的值?

1、什么是ArrayList :

ArrayList就是傳說中的動態(tài)數(shù)組,用MSDN中的說法,就是Array的復(fù)雜版本,它提供了如下一些好處:

(1)動態(tài)的增加和減少元素

(2)實(shí)現(xiàn)了ICollection和IList接口

(3)靈活的設(shè)置數(shù)組的大小

2、ArrayLis的創(chuàng)建以及增刪改查方法:

(1)ArrayList的創(chuàng)建以及元素的添加:

ArrayList 變量名?=?new?ArrayList();?//()中也可傳參。

注釋:上面是創(chuàng)建一個空的ArrayList列表。當(dāng)我們想往列表中傳遞元素的時候是通過.add()的方法來進(jìn)行賦值的??匆幌孪旅娴陌咐A硗庖胼敵龀隽斜碇械脑氐脑捯ㄟ^for循環(huán)遍歷:

public?class?test?{

public?static?void?main(String[]?args)?{

ArrayList?lis?=?new?ArrayList();

lis.add("tony");

lis.add("tom");

lis.add("jack");

lis.add("mary");

lis.add("even");

for(int?i=0;ilis.size();i++){

String?result?=?(String)lis.get(i);

System.out.println(result);

}

輸出結(jié)果如下:

tony

tom

jack

mary

even

(2)ArrayList中元素的刪除:

注釋:變量名.remove(int Index); //通過.remove(int Index)方法來進(jìn)行刪除。

這里直接傳入要刪除元素的下標(biāo)即可。當(dāng)然也可以直接傳入值進(jìn)行刪除。如果你覺得用下邊的方式比較麻煩那可以直接輸入要刪除項(xiàng)的值。

package?com.java.demo_9;

import?java.util.ArrayList;

public?class?Arraylist?{

public?static?void?main(String[]?args)?{

ArrayList?lis?=?new?ArrayList();

lis.add("tony");

lis.add("tom");

lis.add("jack");

lis.add("mary");

lis.add("even");

System.out.println("---------------------------------");

System.out.println("ArrayList原列表元素:");

for?(int?i?=?0;?i??lis.size();?i++)?{

String?result?=?(String)?lis.get(i);

System.out.println(result);

}

System.out.println("---------------------------------");

System.out.println("刪除元素后的ArrayList列表:");

lis.remove(1);

for?(int?i?=?0;?i??lis.size();?i++)?{

String?result?=?(String)?lis.get(i);

System.out.println(result);

}

System.out.println("---------------------------------");

}

}

結(jié)果:

因?yàn)槲抑付ǖ氖莑is.remove(1);

index是從0開始起始的因此1代表第2個元素。因此刪除的是tom這個元素。

ArrayList原列表元素:

tony

tom

jack

mary

even

---------------------------------

刪除元素后的ArrayList列表:

tony

jack

mary

even

---------------------------------

(3)ArrayList中元素的修改注釋:

ArrayList方法中有一個.set方法(變量.set(index, element);)。

通過這個方法可以修改列表中的值。(index指定下標(biāo),element指定要修改后元素的值)。一起來看一下下面的示例:

package?com.java.demo_9;

import?java.util.ArrayList;

public?class?Arraylist?{

public?static?void?main(String[]?args)?{

ArrayList?lis?=?new?ArrayList();

lis.add("tony");

lis.add("tom");

lis.add("jack");

lis.add("mary");

lis.add("even");

System.out.println("---------------------------------");

System.out.println("ArrayList原列表元素:");

for?(int?i?=?0;?i??lis.size();?i++)?{

String?result?=?(String)?lis.get(i);

System.out.println(result);

}

System.out.println("---------------------------------");

System.out.println("修改后的ArrayList列表:");

//lis.remove("tom");

lis.set(2,?"lucy");

for?(int?i?=?0;?i??lis.size();?i++)?{

String?result?=?(String)?lis.get(i);

System.out.println(result);

}

System.out.println("---------------------------------");

}

}

結(jié)果:

通過下面的結(jié)果可以看出第3個下標(biāo)中的值已經(jīng)被改變了。本來是jack現(xiàn)在更改成了lucy。

ArrayList原列表元素:

tony

tom

jack

mary

even

---------------------------------

修改后的ArrayList列表:

tony

tom

lucy

mary

even

---------------------------------

(4)ArrayList中元素的查找:

注釋:.contains()是用來判斷一個元素是否包含在另一個元素中的。

所以這里是判斷查找的元素是否包含在列表中。返回值方面我直接用的是打印的方法。也可以通過boolean,return的方式返回。

案例1:

import?java.util.ArrayList;

public?class?tes?{

public?static?void?main(String[]?args)?{

ArrayList?lis?=?new?ArrayList();

lis.add("tony");

lis.add("tom");

lis.add("jack");

lis.add("mary");

lis.add("even");

if(lis.contains("vivian")){

System.out.println("包含此元素!");

}

else{

System.out.println("該元素不存在!");

}

}

}

結(jié)果:

返回結(jié)果參照代碼。找到了就打印“包含此元素,沒找到就顯示元素不存在。

案例2:

package?com.java.demo_9;

import?java.util.ArrayList;

public?class?ArrLis?{

public?static?void?main(String[]?args)?{

ArrayList?list?=new?ArrayList();

list.add("tony");

list.add("tom");

list.add("jack");

list.add("kevin");

for(int?i=0;ilist.size();i++){

String?result?=(String?)list.get(i);

System.out.println(result);

}

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

ArrayList?list1?=?new?ArrayList();

for(int?i=0;ilist.size();i++){

String?res?=?(String)list.get(i);

if(list.contains("kevin")){

list1.add("kevin");

System.out.println(list1);

break;

}else{

System.out.println("沒找到該元素!");

break;

}

}

}

}

結(jié)果:

因?yàn)榱斜碇兄邪?kevin"這個元素所以返回值為該元素。如果列表中沒有該元素返回值為“沒有找到該元素!”。

注意事項(xiàng):我是重新設(shè)定了一個新空ArrayList(list1)。目的就是為了如果找到該值把這個值直接放到新的ArrayList中。另外if,else用了2次break。就是只要找到或者沒找到就退出的意思。如果不這么寫那么for循環(huán)每找一次結(jié)果就會打印一次,這顯然是不必要的。

java替換數(shù)組中的某一個數(shù)

可以使用如下的代碼:

arrays.aslist(yourarray).contains(yourvalue)

但這并不適用于基本數(shù)據(jù)類型的數(shù)組。

在java8之后,你可以使用stream來檢測int,double,long類型的數(shù)組是否包含某個數(shù)值。(分別用intstream,

doublestream和longstream),例如:

int[]

a

=

{1,2,3,4};

boolean

contains

=

intstream.of(a).anymatch(x

-

x

==

4);

對于數(shù)組的一些操作,你可以上秒秒學(xué)了解相關(guān)的知識。

java把組數(shù)作為參數(shù),嘗試用兩種方式改變數(shù)組的元素,結(jié)果不同的原因?

配合內(nèi)存分布圖

當(dāng)沒有注釋的代碼時,此時在main方法中調(diào)用change方法,然后將數(shù)組作為參數(shù)傳遞,此時傳遞的是地址值。雖然main方法中的arr和change方法參數(shù)里的arr看似名稱一致,但是實(shí)際在棧中會有兩份。就和上圖一樣。

本來main方法中的arr就是指向0x1122地址的數(shù)組,然后將這個地址賦給了change方法參數(shù)里的arr,所以此時change方法里的arr也指向了0x1122地址的數(shù)組。所以如果對這個數(shù)組里的內(nèi)容進(jìn)行改動,通過兩個arr訪問都是一樣的。所以通過change改動數(shù)組內(nèi)容,main方法中也能夠看到修改后的內(nèi)容

如果加上注釋的那一行代碼。因?yàn)橹匦耼ew一個新的數(shù)組,然后將其地址值改成了0x3344,所以change方法里的arr不再指向0x1122,所以你無論怎么修改內(nèi)部數(shù)據(jù),和main方法中的arr也沒有關(guān)系

如上做一個簡單的總結(jié)

就比如有兩個人共用一個衛(wèi)生間。一個人很邋遢給廁所里搞得很臟,另一個人進(jìn)去就能看到廁所很臟

如果兩個人各有一個衛(wèi)生間。一個人哪怕在廁所生火做飯,另一個人也看不到

用java定義一個方法將一個數(shù)組的元素的值改為另一個數(shù)組元素的值

public static void main(String[] args){ /** * 1、Java定義一個一維數(shù)組,并給每個元素賦值為數(shù)組下標(biāo)的值,并顯示 */ int[] arr = new int[10]; for (int i = 0; i arr.length; i++){ arr[i] = i; System.out.println(i + "," + arr[i]); }} public static void main(String[] args){ /** * 2、修改上述程序,將數(shù)組的賦值改為從鍵盤上輸入的10個整數(shù) */ int[] arr = new int[10]; System.out.println("請依次輸入10個整數(shù)"); for (int i = 0; i arr.length; i++){ System.out.println("請輸入第" + (i + 1) + "個整數(shù):"); Scanner input = new Scanner(System.in); arr[i] = Integer.parseInt(input.nextLine()); } for (int i = 0; i arr.length; i++){ System.out.println(i + "," + arr[i]); } /** * 3、修改上述程序,添加代碼,實(shí)現(xiàn)從10個數(shù)中找到最大值和最小值,并顯示。 */ int max = arr[0]; // 將數(shù)組的第一個元素賦給max int min = arr[0]; // 將數(shù)組的第一個元素賦給min for (int i = 1; i arr.length; i++){ // 從數(shù)組的第二個元素開始賦值,依次比較 if (arr[i] max){ // 如果arr[i]大于最大值,就將arr[i]賦給最大值 max = arr[i]; } if (arr[i] min){ // 如果arr[i]小于最小值,就將arr[i]賦給最小值 min = arr[i]; } } System.out.println("最大值是:" + max); System.out.println("最小值是:" + min); /** * 4、修改上述程序,添加代碼,去掉最大值和最小值,然后計算剩下的數(shù)的平均值,并顯示 */ int sum = 0; for (int i = 0; i arr.length; i++){ sum += arr[i]; } sum = sum - max - min; // 去掉最大值和最小值的總和 double average = sum / (arr.length - 2); System.out.println("平均值:" + average);}


當(dāng)前標(biāo)題:Java代碼改變數(shù)組元素 java定義變長數(shù)組
網(wǎng)頁網(wǎng)址:http://weahome.cn/article/hhhjpe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部