欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java對int[]數(shù)組做新增刪除去重操作代碼

 更新時間:2023年10月08日 14:54:25   作者:誰不想飛舞青春  
這篇文章主要介紹了Java里面對int[]數(shù)組做新增刪除去重實現(xiàn),這里記錄下使用int[]數(shù)組對數(shù)組進行新增刪除去重等操作,用來更加了解java里面的集合類思想,需要的朋友可以參考下

Java里面對int[]數(shù)組做新增刪除去重實現(xiàn)

說明

這里記錄下使用int[]數(shù)組對數(shù)組進行新增刪除去重等操作,用來更加了解java里面的集合類思想。如ArrayList、Set等集合。

代碼 根據(jù)索引刪除數(shù)組中的某個數(shù)據(jù)實現(xiàn)

package com.example.test;
import java.util.Arrays;
public class TestMain {
    public static void main(String[] args) {
        deleteList();
    }
    //根據(jù)索引刪除數(shù)組中的某個數(shù)據(jù)實現(xiàn)
    public static void deleteList(){
        //刪除數(shù)組原理,從索引位置開始將后面的元素向前移到一位,這就導致最后一位元素會出現(xiàn)2次,所以要新建一個數(shù)組,長度比原數(shù)組少一,然后將原數(shù)組的數(shù)據(jù)從索引0開始,到length-1復制到新數(shù)組里面實現(xiàn)元素刪除
        int[] nums={34,35,36,37,38,39};
        //刪除索引為2的元素,定義一個元素索引為2的下標
        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ù)復制到新數(shù)組里面,最后面一位數(shù)據(jù)不要,從而實現(xiàn)元素的刪除功能
        for(int i=0;i<newArray.length;i++){
            newArray[i]=nums[i];
        }
        System.out.println("新數(shù)組數(shù)據(jù):"+Arrays.toString(newArray));
    }
}

執(zhí)行結果如下:

在這里插入圖片描述

在數(shù)組中添加一個元素實現(xiàn)

package com.example.test;
import java.util.Arrays;
public class TestMain {
    public static void main(String[] args) {
        addList();
    }
    //在數(shù)組中添加一個元素實現(xiàn)
    public static void addList(){
        //添加數(shù)組原理,先新建一個數(shù)組,這個數(shù)組長度為原數(shù)組的長度+1,將原數(shù)組數(shù)據(jù)復制到新數(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ù)復制到新數(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í)行結果如下:

在這里插入圖片描述

刪除數(shù)組里面的重復數(shù)據(jù)

package com.example.test;
import java.util.Arrays;
public class TestMain {
    public static void main(String[] args) {
        deleteRepeatList();
    }
    //刪除數(shù)組里面的重復數(shù)據(jù)
    public static void deleteRepeatList(){
        int[] nums={34,35,36,36,37,38,39,34,36,39};
        //新建一個數(shù)組用來放未重復的元素,因為不知道重復的元素個數(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++){
                //元素的索引下標不能相等,同一個元素判斷沒有意義
                if(i!=j){
                    //如果后一個元素與前面的元素相等,直接結束循環(huán)
                    if(nums[i]==nums[j]){
                        //System.out.println("nums[i]="+nums[i]+",nums[j]="+nums[j]);
                        break;
                    }
                }
                //遍歷結束,且沒有重復元素,將這個元素放到新數(shù)組里面
                if (j==newArray.length-1){
                    newArray[index]=nums[i];
                    index++;
                }
            }
        }
        System.out.println("移除重復元素后的數(shù)組值="+Arrays.toString(newArray));
        System.out.println("index="+index);
        //定義一個準確長度的數(shù)組,用來存放未重復的數(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í)行結果:

去掉數(shù)組里面的重復數(shù)據(jù),只保留一個

package com.example.test;
import java.util.Arrays;
public class TestMain {
    public static void main(String[] args) {
        distinctList();
    }
    //去掉數(shù)組里面的重復數(shù)據(jù),只保留一個,順序不能保證,時間復雜度為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ù)組的最后一個元素值賦值給當前重復的元素
                    nums[j]=nums[len-1];
                    //將數(shù)組長度減一,因為最后一個元素已經(jīng)賦值給了當前重復的元素值,所以最后一個元素沒有存在的必要了
                    len--;
                    //j自減一,讓for循環(huán)加一后再從j當前重復的元素位置開始遍歷
                    j--;
                }
            }
        }
        //聲明一個新數(shù)組用來存放不重復的元素
        int[] newArr = new int[len];
        for (int i = 0; i < len; i++) {
            newArr[i] = nums[i];
        }
        System.out.println("去重后的數(shù)組值="+Arrays.toString(newArr));
    }
}

執(zhí)行結果:

在這里插入圖片描述

到此這篇關于Java里面對int[]數(shù)組做新增刪除去重實現(xiàn)的文章就介紹到這了,更多相關java int[]數(shù)組新增刪除去重內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java性能優(yōu)化之代碼緩存優(yōu)化

    java性能優(yōu)化之代碼緩存優(yōu)化

    這篇文章主要介紹了java性能優(yōu)化之代碼緩存優(yōu)化,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Java中 % 與Math.floorMod() 區(qū)別詳解

    Java中 % 與Math.floorMod() 區(qū)別詳解

    這篇文章主要介紹了Java中 % 與Math.floorMod() 區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java中Switch的使用方法及新特性

    Java中Switch的使用方法及新特性

    在java中控制流程語句是由選擇語句、循環(huán)語句、跳轉語句構成,選擇語句包括if和switch,在過多的使用if語句嵌套會使程序很難閱讀,這時就可以用到switch語句,這篇文章主要給大家介紹了關于Java中Switch的使用方法及新特性的相關資料,需要的朋友可以參考下
    2023-11-11
  • IDEA中設置代碼自動提示為Alt+/的具體做法

    IDEA中設置代碼自動提示為Alt+/的具體做法

    很多公司都強制性要求使用Intellij?IDEA,其實Intellij?IDEA也確實很好用,但是一下子從Eclipse跳轉到Intellij?IDEA轉也是需要一段時間的,為了迎合之前的習慣,就需要在Intellij?IDEA中改變一些設置,如代碼自動生成,本文給大家分享設置方法,感興趣的朋友一起看看吧
    2023-01-01
  • SpringSecurity使用PasswordEncoder加密用戶密碼的示例代碼

    SpringSecurity使用PasswordEncoder加密用戶密碼的示例代碼

    PasswordEncoder是Spring Security庫中的一個關鍵組件,它主要用于處理密碼的安全存儲和驗證,本文將給大家介紹一下SpringSecurity使用PasswordEncoder加密用戶密碼的方法,需要的朋友可以參考下
    2024-09-09
  • IDEA報錯Error?running‘Application‘:Command?line?is?too?long的問題

    IDEA報錯Error?running‘Application‘:Command?line?is?too?lo

    這篇文章主要介紹了IDEA報錯Error?running?‘Application‘:Command?line?is?too?long的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Java中的BigDecimal原理詳解

    Java中的BigDecimal原理詳解

    這篇文章主要介紹了Java中的BigDecimal原理詳解,對于日常開發(fā)過程中出現(xiàn)小數(shù)的問題,通常都是使用float或者double類型來處理,在java中float占用四個字節(jié), double類型占用8個字節(jié),需要的朋友可以參考下
    2023-09-09
  • Java中雙冒號運算符(::)的用法詳解

    Java中雙冒號運算符(::)的用法詳解

    在Java 8引入的Lambda表達式和函數(shù)式接口之后,雙冒號運算符(::)成為了一項重要的功能,下面我們就來學習一下Java中的雙冒號運算符及其常見應用場景吧
    2023-12-12
  • java中拼接字符串的5種方法效率對比

    java中拼接字符串的5種方法效率對比

    這篇文章主要給大家介紹了關于java中拼接字符串的5種方法效率對比的相關資料,文中通過示例代碼和圖片介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-01-01
  • SpringBoot詳細列舉常用注解的說明

    SpringBoot詳細列舉常用注解的說明

    在開發(fā)SpringBoot程序的過程中,有可能與其他業(yè)務系統(tǒng)進行對接開發(fā),獲取封裝公共的API接口等等,下面這篇文章主要給大家介紹了關于SpringBoot常見的注解的相關資料,需要的朋友可以參考下
    2022-06-06

最新評論