Java實(shí)現(xiàn)向數(shù)組里添加元素
Java向數(shù)組里添加元素
向數(shù)組里添加一個(gè)元素怎么添加,一般數(shù)組是不能添加元素的,因?yàn)閿?shù)組在初始化時(shí)就已定好長度了,不能改變長度。
比如:
String[] str = new String[5]; System.out.println(Arrays.toString(str)); String[] str2 = new String[]{"a", "b"}; System.out.println(Arrays.toString(str2)); String[] str3 = {"c", "d"}; System.out.println(Arrays.toString(str3));
第一種方法
思路為創(chuàng)建一個(gè)新數(shù)組,新數(shù)組的大小為舊數(shù)組大小+1,把舊數(shù)組里的元素copy一份進(jìn)新數(shù)組,并把要添加的元素添加進(jìn)新數(shù)組即可。
String[] datecolumn = {"Mon", "Tue", "Wed"}; /** * 重新創(chuàng)建一個(gè)新的數(shù)組,需要添加多少個(gè)元素,就在原來的數(shù)組長度的基礎(chǔ)上加幾 */ System.out.println(datecolumn.length); String[] newColume = new String[datecolumn.length + 1]; for (int i = 0; i < datecolumn.length; i++) { newColume[i]=datecolumn[i]; } newColume[datecolumn.length]="Thu"; System.out.println(Arrays.toString(newColume));
第二種方法
可以改變大小的數(shù)組為ArrayList,即可以定義一個(gè)ArrayList數(shù)組,然后用add(element)方法往里添加元素即可,還可add(index,element)往指定下標(biāo)處添加元素;
List<String> datelist = new ArrayList<String>(); datelist.add("Mon"); datelist.add("Tue"); datelist.add("Wed"); //因?yàn)閿?shù)組下標(biāo)是從0開始,這里add的index為2即為第三個(gè)元素 datelist.add(2, "Thu"); datelist.add(1, "Fri"); System.out.println(datelist);
Web值對(duì)應(yīng)的index就成了3
第三種方法
思路為先把a(bǔ)rray轉(zhuǎn)化為list,用list的add()方法添加元素,再把list轉(zhuǎn)化為array。
但這兒會(huì)有一個(gè)陷阱盲區(qū),在把a(bǔ)rray轉(zhuǎn)化為list的過程中,使用的asList()方法會(huì)返回一個(gè)final的,固定長度的ArrayList類,并不是java.util.ArrayList,直接這樣利用它進(jìn)行add()或remove()是無效的。
//1.已有的數(shù)組datecolumn和list集合 String[] datecolumn = {"Mon", "Tue", "Wed"}; List<String> list = new ArrayList<>(); list.add("Thu"); list.add("Fri"); list.add("Sat"); list.add("Sun"); //2.數(shù)組和集合add到titleList中 List<String> titleList = new ArrayList<String>(); //將datecolum數(shù)組轉(zhuǎn)換list并add到titleList中 titleList.addAll(Arrays.asList(datecolumn)); //將list添加到titleList中 titleList.addAll(list); //3.titleList集合轉(zhuǎn)換title數(shù)組 String[] title = titleList.toArray(new String[titleList.size()]); //4.遍歷title數(shù)組 for (String string : title) { System.out.println(string); }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot security 默認(rèn)攔截靜態(tài)資源的解決方法
這篇文章主要介紹了Spring Boot security 默認(rèn)攔截靜態(tài)資源,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03如何通過Java實(shí)現(xiàn)時(shí)間軸過程解析
這篇文章主要介紹了如何通過Java實(shí)現(xiàn)時(shí)間軸過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02RocketMQ之Consumer整體介紹啟動(dòng)源碼分析
這篇文章主要為大家介紹了RocketMQ源碼分析之Consumer整體介紹啟動(dòng)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05詳解HTTP請(qǐng)求與響應(yīng)基礎(chǔ)及實(shí)例
這篇文章主要介紹了詳解HTTP請(qǐng)求與響應(yīng)基礎(chǔ)及實(shí)例的相關(guān)資料,這里對(duì)http的請(qǐng)求和響應(yīng)進(jìn)行詳細(xì)分析并附有實(shí)現(xiàn)實(shí)例,需要的朋友可以參考下2017-07-07SpringMVC使用@Valid注解實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證的代碼示例
在 Web 開發(fā)中,數(shù)據(jù)驗(yàn)證是一個(gè)非常重要的環(huán)節(jié),它可以確保數(shù)據(jù)的合法性和正確性,保護(hù)系統(tǒng)不受到惡意攻擊或用戶誤操作的影響,在 SpringMVC 中,我們可以使用 @Valid 注解來實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證,所以本文就給大家介紹具體的使用方法,需要的朋友可以參考下2023-07-07Springboot中實(shí)現(xiàn)策略模式+工廠模式的方法
這篇文章主要介紹了Springboot中實(shí)現(xiàn)策略模式+工廠模式,具體策略模式和工廠模式的UML我就不給出來了,使用這個(gè)這兩個(gè)模式主要是防止程序中出現(xiàn)大量的IF ELSE IF ELSE....,接下來咱們直接實(shí)現(xiàn)Springboot策略模式工廠模式2022-03-03