国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

深入解析Java數(shù)組去重的五種實(shí)用方法

WBOY
發(fā)布: 2023-12-23 09:21:37
原創(chuàng)
6733人瀏覽過(guò)

深入解析java數(shù)組去重的五種實(shí)用方法

深入解析Java數(shù)組去重的五種實(shí)用方法

在Java中,處理數(shù)組是非常常見(jiàn)的操作。而數(shù)組去重是在實(shí)際開發(fā)中經(jīng)常遇到的問(wèn)題。本文將深入解析Java數(shù)組去重的五種實(shí)用方法,并提供具體的代碼示例。

一、使用HashSet去重
HashSet是Java中的一種集合,它具有自動(dòng)去重的功能。我們可以利用HashSet的特性,將數(shù)組中的元素添加到HashSet中,實(shí)現(xiàn)去重的效果。

import java.util.HashSet;
import java.util.Arrays;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        HashSet<Integer> set = new HashSet<>();
        for(int i=0;i<array.length;i++){
            set.add(array[i]);
        }
        int[] result = new int[set.size()];
        int index=0;
        for(Integer num:set){
            result[index++] = num;
        }
        return result;
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
登錄后復(fù)制

二、使用LinkedHashSet去重
LinkedHashSet是HashSet的子類,除了具有去重功能之外,還可以保持插入順序。如果需要保持原有順序,并去除重復(fù)元素,可以使用LinkedHashSet。

立即學(xué)習(xí)Java免費(fèi)學(xué)習(xí)筆記(深入)”;

import java.util.LinkedHashSet;
import java.util.Arrays;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        LinkedHashSet<Integer> set = new LinkedHashSet<>();
        for(int i=0;i<array.length;i++){
            set.add(array[i]);
        }
        int[] result = new int[set.size()];
        int index=0;
        for(Integer num:set){
            result[index++] = num;
        }
        return result;
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
登錄后復(fù)制

三、使用TreeSet去重
TreeSet是一個(gè)有序的集合,它默認(rèn)會(huì)對(duì)元素進(jìn)行自然排序。利用TreeSet的去重特性,可以將數(shù)組中的元素添加到TreeSet中,再將TreeSet轉(zhuǎn)換為數(shù)組,實(shí)現(xiàn)去重。

import java.util.TreeSet;
import java.util.Arrays;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        TreeSet<Integer> set = new TreeSet<>();
        for(int i=0;i<array.length;i++){
            set.add(array[i]);
        }
        int[] result = new int[set.size()];
        int index=0;
        for(Integer num:set){
            result[index++] = num;
        }
        return result;
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
登錄后復(fù)制

四、使用Stream API去重
Stream API是Java 8中引入的一種新的API,它提供了一種流式操作的方式。結(jié)合Stream的distinct方法,可以方便地去重?cái)?shù)組。

import java.util.Arrays;
import java.util.stream.IntStream;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        int[] result = IntStream.of(array).distinct().toArray();
        return result;
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
登錄后復(fù)制

五、使用雙重循環(huán)去重
最后一種方法是使用雙重循環(huán)遍歷數(shù)組,將重復(fù)的元素標(biāo)記并去掉。

import java.util.Arrays;

public class ArrayDuplicateRemoval {
    public static int[] removeDuplicates(int[] array){
        int length = array.length;
        for(int i=0;i<length-1;i++){
            if(array[i]!=-1){
                for(int j=i+1;j<length;j++){
                    if(array[j]==array[i]){
                        array[j] = -1; // 標(biāo)記為重復(fù)元素
                    }
                }
            }
        }
        int[] result = new int[length];
        int index = 0;
        for(int i=0;i<length;i++){
            if(array[i]!=-1){
                result[index++] = array[i];
            }
        }
        return Arrays.copyOf(result, index);
    }
    public static void main(String[] args){
        int[] array = {1, 2, 3, 4, 4, 5, 5, 6};
        int[] result = removeDuplicates(array);
        System.out.println(Arrays.toString(result));
    }
}
登錄后復(fù)制

通過(guò)以上的介紹,我們?cè)敿?xì)講解了Java數(shù)組去重的五種實(shí)用方法,并提供了具體的代碼示例。根據(jù)實(shí)際情況和需求,可以選擇適合的方法來(lái)解決數(shù)組去重的問(wèn)題。希望本文對(duì)您在實(shí)際開發(fā)中有所幫助!

以上就是深入解析Java數(shù)組去重的五種實(shí)用方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

java速學(xué)教程(入門到精通)
java速學(xué)教程(入門到精通)

java怎么學(xué)習(xí)?java怎么入門?java在哪學(xué)?java怎么學(xué)才快?不用擔(dān)心,這里為大家提供了java速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!

下載
相關(guān)標(biāo)簽:
來(lái)源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn
最新問(wèn)題
開源免費(fèi)商場(chǎng)系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)