Java對int[]數(shù)組做新增刪除去重操作代碼
Java里面對int[]數(shù)組做新增刪除去重實(shí)現(xiàn)
說明
這里記錄下使用int[]數(shù)組對數(shù)組進(jìn)行新增刪除去重等操作,用來更加了解java里面的集合類思想。如ArrayList、Set等集合。
代碼 根據(jù)索引刪除數(shù)組中的某個數(shù)據(jù)實(shí)現(xiàn)
package com.example.test; import java.util.Arrays; public class TestMain { public static void main(String[] args) { deleteList(); } //根據(jù)索引刪除數(shù)組中的某個數(shù)據(jù)實(shí)現(xiàn) public static void deleteList(){ //刪除數(shù)組原理,從索引位置開始將后面的元素向前移到一位,這就導(dǎo)致最后一位元素會出現(xiàn)2次,所以要新建一個數(shù)組,長度比原數(shù)組少一,然后將原數(shù)組的數(shù)據(jù)從索引0開始,到length-1復(fù)制到新數(shù)組里面實(shí)現(xiàn)元素刪除 int[] nums={34,35,36,37,38,39}; //刪除索引為2的元素,定義一個元素索引為2的下標(biāo) int index=2; for(int i=index;i<nums.length-1;i++){ //將后一個元素值賦值給前面一個元素 nums[i]=nums[i+1]; } System.out.println("數(shù)據(jù)刪除后原數(shù)組數(shù)據(jù):"+Arrays.toString(nums)); //定義一個新數(shù)組,數(shù)組長度為nums1.length-1 int[] newArray=new int[nums.length-1]; //將原數(shù)組數(shù)據(jù)復(fù)制到新數(shù)組里面,最后面一位數(shù)據(jù)不要,從而實(shí)現(xiàn)元素的刪除功能 for(int i=0;i<newArray.length;i++){ newArray[i]=nums[i]; } System.out.println("新數(shù)組數(shù)據(jù):"+Arrays.toString(newArray)); } }
執(zhí)行結(jié)果如下:
在數(shù)組中添加一個元素實(shí)現(xiàn)
package com.example.test; import java.util.Arrays; public class TestMain { public static void main(String[] args) { addList(); } //在數(shù)組中添加一個元素實(shí)現(xiàn) public static void addList(){ //添加數(shù)組原理,先新建一個數(shù)組,這個數(shù)組長度為原數(shù)組的長度+1,將原數(shù)組數(shù)據(jù)復(fù)制到新數(shù)組里面,在新數(shù)組里面最后面直接添加元素 int[] nums={34,35,36,37,38,39}; //添加元素值,將40添加到數(shù)組里面 int num=40; //定義一個新數(shù)組,數(shù)組長度為nums1.length+1 int[] newArray=new int[nums.length+1]; //將原數(shù)組數(shù)據(jù)復(fù)制到新數(shù)組里面 for(int i=0;i<nums.length;i++){ newArray[i]=nums[i]; } //直接將新元素添加到最后段 newArray[newArray.length-1]=num; System.out.println("新數(shù)組數(shù)據(jù):"+Arrays.toString(newArray)); } }
執(zhí)行結(jié)果如下:
刪除數(shù)組里面的重復(fù)數(shù)據(jù)
package com.example.test; import java.util.Arrays; public class TestMain { public static void main(String[] args) { deleteRepeatList(); } //刪除數(shù)組里面的重復(fù)數(shù)據(jù) public static void deleteRepeatList(){ int[] nums={34,35,36,36,37,38,39,34,36,39}; //新建一個數(shù)組用來放未重復(fù)的元素,因?yàn)椴恢乐貜?fù)的元素個數(shù),所以數(shù)組長度與原數(shù)組長度一致 int[] newArray=new int[nums.length]; int index=0; for(int i=0;i<nums.length;i++){ for(int j=0;j<nums.length;j++){ //元素的索引下標(biāo)不能相等,同一個元素判斷沒有意義 if(i!=j){ //如果后一個元素與前面的元素相等,直接結(jié)束循環(huán) if(nums[i]==nums[j]){ //System.out.println("nums[i]="+nums[i]+",nums[j]="+nums[j]); break; } } //遍歷結(jié)束,且沒有重復(fù)元素,將這個元素放到新數(shù)組里面 if (j==newArray.length-1){ newArray[index]=nums[i]; index++; } } } System.out.println("移除重復(fù)元素后的數(shù)組值="+Arrays.toString(newArray)); System.out.println("index="+index); //定義一個準(zhǔn)確長度的數(shù)組,用來存放未重復(fù)的數(shù)組,長度為index int[] newArr=new int[index]; for(int i=0;i<newArr.length;i++){ newArr[i]=newArray[i]; } System.out.println("移除數(shù)據(jù)0后的數(shù)組值="+Arrays.toString(newArr)); } }
執(zhí)行結(jié)果:
去掉數(shù)組里面的重復(fù)數(shù)據(jù),只保留一個
package com.example.test; import java.util.Arrays; public class TestMain { public static void main(String[] args) { distinctList(); } //去掉數(shù)組里面的重復(fù)數(shù)據(jù),只保留一個,順序不能保證,時(shí)間復(fù)雜度為O(n^2) public static void distinctList(){ int[] nums={34,35,36,36,37,38,39,34,36,39}; //聲明一個變量存原數(shù)組長度 int len=nums.length; for(int i=0;i<len;i++){ //從i的下一個元素開始遍歷 for(int j=i+1;j<len;j++){ //如果后一個元素與前面的元素相等 if(nums[i]==nums[j]){ //那么就將數(shù)組的最后一個元素值賦值給當(dāng)前重復(fù)的元素 nums[j]=nums[len-1]; //將數(shù)組長度減一,因?yàn)樽詈笠粋€元素已經(jīng)賦值給了當(dāng)前重復(fù)的元素值,所以最后一個元素沒有存在的必要了 len--; //j自減一,讓for循環(huán)加一后再從j當(dāng)前重復(fù)的元素位置開始遍歷 j--; } } } //聲明一個新數(shù)組用來存放不重復(fù)的元素 int[] newArr = new int[len]; for (int i = 0; i < len; i++) { newArr[i] = nums[i]; } System.out.println("去重后的數(shù)組值="+Arrays.toString(newArr)); } }
執(zhí)行結(jié)果:
到此這篇關(guān)于Java里面對int[]數(shù)組做新增刪除去重實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)java int[]數(shù)組新增刪除去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中 % 與Math.floorMod() 區(qū)別詳解
這篇文章主要介紹了Java中 % 與Math.floorMod() 區(qū)別詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08SpringSecurity使用PasswordEncoder加密用戶密碼的示例代碼
PasswordEncoder是Spring Security庫中的一個關(guān)鍵組件,它主要用于處理密碼的安全存儲和驗(yàn)證,本文將給大家介紹一下SpringSecurity使用PasswordEncoder加密用戶密碼的方法,需要的朋友可以參考下2024-09-09IDEA報(bào)錯Error?running‘Application‘:Command?line?is?too?lo
這篇文章主要介紹了IDEA報(bào)錯Error?running?‘Application‘:Command?line?is?too?long的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06