bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Java代碼改變數組元素 java定義變長數組

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中怎么修改ArrayList()中元素的值?

1、什么是ArrayList :

ArrayList就是傳說中的動態數組,用MSDN中的說法,就是Array的復雜版本,它提供了如下一些好處:

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

(2)實現了ICollection和IList接口

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

2、ArrayLis的創建以及增刪改查方法:

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

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

注釋:上面是創建一個空的ArrayList列表。當我們想往列表中傳遞元素的時候是通過.add()的方法來進行賦值的。看一下下面的案例。另外要想輸出出列表中的元素的話要通過for循環遍歷:

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);

}

輸出結果如下:

tony

tom

jack

mary

even

(2)ArrayList中元素的刪除:

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

這里直接傳入要刪除元素的下標即可。當然也可以直接傳入值進行刪除。如果你覺得用下邊的方式比較麻煩那可以直接輸入要刪除項的值。

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("---------------------------------");

}

}

結果:

因為我指定的是lis.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指定下標,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("---------------------------------");

}

}

結果:

通過下面的結果可以看出第3個下標中的值已經被改變了。本來是jack現在更改成了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("該元素不存在!");

}

}

}

結果:

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

案例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;

}

}

}

}

結果:

因為列表中中包含"kevin"這個元素所以返回值為該元素。如果列表中沒有該元素返回值為“沒有找到該元素!”。

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

java替換數組中的某一個數

可以使用如下的代碼:

arrays.aslist(yourarray).contains(yourvalue)

但這并不適用于基本數據類型的數組。

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

doublestream和longstream),例如:

int[]

a

=

{1,2,3,4};

boolean

contains

=

intstream.of(a).anymatch(x

-

x

==

4);

對于數組的一些操作,你可以上秒秒學了解相關的知識。

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

配合內存分布圖

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

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

如果加上注釋的那一行代碼。因為重新new一個新的數組,然后將其地址值改成了0x3344,所以change方法里的arr不再指向0x1122,所以你無論怎么修改內部數據,和main方法中的arr也沒有關系

如上做一個簡單的總結

就比如有兩個人共用一個衛生間。一個人很邋遢給廁所里搞得很臟,另一個人進去就能看到廁所很臟

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

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

public static void main(String[] args){ /** * 1、Java定義一個一維數組,并給每個元素賦值為數組下標的值,并顯示 */ 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、修改上述程序,將數組的賦值改為從鍵盤上輸入的10個整數 */ int[] arr = new int[10]; System.out.println("請依次輸入10個整數"); for (int i = 0; i arr.length; i++){ System.out.println("請輸入第" + (i + 1) + "個整數:"); 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、修改上述程序,添加代碼,實現從10個數中找到最大值和最小值,并顯示。 */ int max = arr[0]; // 將數組的第一個元素賦給max int min = arr[0]; // 將數組的第一個元素賦給min for (int i = 1; i arr.length; i++){ // 從數組的第二個元素開始賦值,依次比較 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、修改上述程序,添加代碼,去掉最大值和最小值,然后計算剩下的數的平均值,并顯示 */ 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);}

名稱欄目:Java代碼改變數組元素 java定義變長數組
文章源于:http://vcdvsql.cn/article34/hhhjpe.html

成都網站建設公司_創新互聯,為您提供網站建設微信小程序手機網站建設靜態網站網站內鏈網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設