java中去除数组重复元素

java去除已排序数组中的重复元素 主要为大家详细介绍了java去除已排序数组中重复元素的方法,感兴趣的小伙伴们可以参考一下 立即下载

今天这篇文章总结记录下java中去除数组重复元素。

方法一:
创建一个集合,然后遍历数组逐一放入集合,并且在放入之前用contains方法判断集合
中是否已经存在这个元素,如果不存在,则放入,最后用toArray转成数组。
代码如下:

public static Object[] arrayDeduplication(Object[] originArray) {
        List list = new ArrayList();
        for (int i = 0; i < originArray.length; i++) {
            if (!list.contains(originArray[i])) {
                list.add(originArray[i]);
            }
        }
        Object[] resultArray = list.toArray();
        return resultArray;
    }

方法二:
利用set无序不重复的特性进行去重。
代码如下:

public static Object[] arrayDeduplication(Object[] originArray) {
        Set set = new HashSet();
        for (int i = 0; i < originArray.length; i++) {
            set.add(originArray[i]);
        }
        return set.toArray();
    }

方法三:
使用LinkedHashSet,有顺序、不重复。
代码如下:

public static Object[] arrayDeduplication(Object[] originArray) {
        LinkedHashSet linkedHashSet = new LinkedHashSet();
        for (int i = 0; i < originArray.length; i++) {
            linkedHashSet.add(originArray[i]);
        }
        return linkedHashSet.toArray();
    }

方法四:
自己写,两套for循环。
代码如下:

public static Object[] arrayDeduplication(Object[] originArray) {
        int temp = 0;  //用来记录去重后的数组长度和给临时数组作为下标索引
        Object[] tempArray = new Object[originArray.length];  //临时数组
        for (int i = 0; i < originArray.length; i++) {  //遍历原始数组
            boolean isTrue = true;
            for (int j = i + 1; j < originArray.length; j++) {  //将原数组的数据逐一比较
                if (originArray[i] == originArray[j]) {  //如果发现有重复元素,改变标记状态并结束内层循环
                    isTrue = false;
                    break;
                }
            }
            if (isTrue) {
                tempArray[temp] = originArray[i];
                temp++;
            }
        }
        Object[] resultArray = new Object[temp];
        System.arraycopy(tempArray, 0, resultArray, 0, temp);
        return resultArray;
    }
保姆级教程:用TI IWR6843雷达板跑通3D人体追踪demo(附CCS/UniFlash避坑指南) 本文提供了一份详尽的TI IWR6843毫米波雷达开发板3D人体追踪demo实现指南,涵盖开发环境搭建、工程导入编译、固件烧录及可视化工具配置全流程。特别针对CCS和UniFlash使用中的常见问题给出解决方案,帮助开发者快速掌握3D People Tracking技术应用。 阅读详情

相关推荐

SAP CO实战:如何用KKA2/CJ88结果分析码搞定项目收入成本匹配(附真实案例)

本文深入解析了SAP CO模块中结果分析码KKA2/CJ88的核心应用,通过真实案例详细阐述了如何在成本波动剧烈的销售型项目中,运用结果分析实现收入与成本的精准匹配。文章重点拆解了不同结果分析方法的适用场景与财务影响,并提供了从配置、操作到问题排查的完整实战指南,帮助财务顾问提升项目财务管理能力。

qsc9012345的博客 609

Java实现数组去重复的18种写法

数组(含List)去重复在日常工作中经常遇到,很多时候用到Set数据结构,但有时候我们需要针对数据进行干预,这时候就需要用其他的实现方式了。以下列出各种的去重方式,基本含括了所有情况。

7916

VS2019 从零构建 OSG+OSGEarth+OSGQt 开发环境实战指南

本文提供了一份详细的实战指南,指导开发者如何在Windows系统下使用VS2019从零开始编译和配置OSG、OSGEarth与OSGQt开发环境。文章涵盖了从环境准备、源码获取、CMake配置、Visual Studio编译到最终测试的完整流程,并分享了关键的避坑技巧,旨在帮助三维GIS与可视化开发者高效搭建稳定、可控的专业开发平台。

weixin_28826961的博客 368

java:去除数组重复元素的四种方法

方法1: 需要一个存储去重后元素的数组,然后两层循环,外层遍历原数组,内容逐个判断是否和之后的元素重复,然后再提出来存入新的数组。方法System.arraycopy(被复制的数组,起始下标,接收的新数组,起始下标,结束下标);可以直接复制数组,既然这样,我就没必要纠结新数组的长度了,直接声明一个跟原数组长度一样的临时数组,只要记录下去重后的元素个数,然后就可以确定去重后数组长度再去将临时数组拷...

不花的花和尚的博客 4万+

UE5实战:如何用Georeference插件搞定百度地图坐标转换(附完整代码)

本文详细解析了在UE5中使用Georeference插件实现百度地图坐标转换的全流程,包括BD-09到UE内部坐标的转换算法、UTM投影配置及性能优化技巧。通过完整代码示例和实战案例,帮助开发者高效解决数字孪生项目中的地理坐标转换难题。

weixin_30955617的博客 94

保姆级教程:用Altium Designer 24从零画一块PCB(附完整库文件与避坑清单)

本文提供了一份详细的Altium Designer 24(AD24)PCB设计教程,从工程创建到最终文件输出,涵盖元件库管理、原理图设计、PCB布局布线等全流程。特别适合初学者,包含STM32最小系统板的实战案例,附完整库文件和避坑清单,帮助用户快速掌握AD24的核心功能与技巧。

weixin_27697385的博客 249

java删除数组中重复元素的方法

1.声明int类型index,该数即可为不重复元素下标,还可统计数组中不重复元素的个数 2.第一层循环,遍历数组,取出每个元素 3.第二层循环,对第一层的元素进行判断是否重复,如果重复结束本次循环,否侧将该元素移动到赋值到相应下标数组 4.新建数组,长度为index,并将原数组的前index个元素赋值给新数组...

sdrfghb的博客 1万+

保姆级教学:从0搭建微信小程序SpringBoot+Vue(一)

目标:实现一个微信小程序从后端数据库MySQL获取的商品展示页。 框架:后端采用SpringBoot,前端采用Vue,数据库MySQL。 部署工具:IntelliJ IDEA 2024.2专业版+HbuilderX+Node+微信开发者工具,jdk1.8已安装

weixin_44545610的博客 4927

JAVA数组去重方法

当判断两个元素是否相同时,HashSet会先调用hashCode()方法比较它们的哈希值,如果哈希值不同,那么这两个元素也就不相同了;如果哈希值相同,还会继续调用equals()方法比较它们的值,如果equals()方法返回true,那么这两个元素即被视为相同元素,新元素就不能被添加进去。当向HashSet中添加元素时,HashSet会先计算元素的hashCode值,然后根据hashCode值将元素放入不同的桶(bucket)中。当多个元素放入同一个桶中时,它们会以链表的形式存储。

weixin_55076626的博客 1万+

深入URP之Shader篇5: SimpleLit Shader分析(1)

本篇开始分析simple lit shader。我们通过分析unlit shader了解了URP shader的结构,以及一些基础功能。而simple lit shader包含了更多的内容。本篇开始,就不会特别仔细的逐行去分析shader文件了,只会针对pass的功能中比较有意思且之前没看到过的内容进行分析。名字为的pass,它的Tags为: 根据URP的文档:说明这是一个前向渲染路径的pass,虽然URP(至少是10.8.1版本)还没有正式支持Deferred Rendering,但URP已经为它打了很多

聚焦游戏和图形引擎开发技术 1901

【WRF-UCM】BEP+BEM 模拟:README

【WRF-UCM】BEP+BEM 模拟:README

WW、forever的博客 223

java数组去重

//方法一:需要传入一个Object数组,然后返回去重后的数组 public static Object[] ifRepeat(Object[] arr){ //用来记录去除重复之后的数组长度和给临时数组作为下标索引 int t = 0; //临时数组 Object[] tempArr = new Object[arr.length]; //遍历原数组 for(int i = 0; ...

weixin_30838921的博客 570

十年芯片资深IC设计工程师面经系列(四)SDC约束

set_driving_cell:当我们的设计是模块级(Block level)的design时,我们的设计前面一般还有其他的设计,那么前面模块的输出便是我们模块的输入,5.1set_false_path:可以单独的时钟或者路径进行约束。set drive :当我们的设计是芯片级(Chip level)的顶层设计时,芯片外围电路要驱动的是负载较大的IO单元,故需要的驱动能力较强,:set_load 是指output端口的负载,设置的值会影响输出到端口的net上的电容,从而影响相应的路径延时。

weixin_47349046的博客 1773

一个有趣的问题:怎么在JS的数组中去除重复元素?(JAVA实现吧..)

怎么在JS的数组中去除重复元素?(JAVA实现吧..)

Cat的专栏 1745

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java删除数组重复元素_java去除数组重复元素的方法

import java.util.ArrayList;import java.util.HashSet;import java.util.Iterator;import java.util.LinkedHashSet;import java.util.List;import java.util.Set;/*去除重复的数组:* 方法一:需要一个存储去重后元素的数组,然后两层循环,外层遍历原数组,内容...

weixin_42501711的博客 1093

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java去除数组重复元素并排序

方法一:运用List集合 public static int[] quchong(int a[]){ List list=new ArrayList(); for(int i=0;i<a.length;i++){ if(!list.contains(a[i])) list.add(a[i]); } Object[] ...

lyc0424的博客 1954

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java中去除数组中重复元素的方法

题目 请设计一个方法,将一个int数组arr中重复的元素去除,并且返回新数组newArr。 解法一 保留重复数字中的第一次出现的元素 首先建立一个与原数组等长的标记数组flag[],它的下标与原数组下标相同,而我们只要改变它的值,就可以知道第几个元素是重复的 遍历原数组 内层也遍历原数组,如果arr[i] == arr[j] ,也就是外层循环到的元素与内层循环的相等 (内层是从i+1 开始找) 就把flag[j] = 1 也就是标记了一个重复元素 循环结束后 ,flag数组求和,就是重复元素的个数

cora_99的博客 9693

java数组去除重复元素_删除Java数组中的重复元素。

以下是必需的程序。示例importjava.util.Arrays;publicclassTester{publicstaticint[]removeDuplicateElements(intarr[]){intn=arr.length;int[]temp=newint[n];intj=0;for(inti=0;iif(arr[i]!=arr[i+1...

weixin_33402215的博客 757

java去除数组重复元素的四种方法

[java] view plain copy  print? package com.yzycool.test;      import java.util.ArrayList;   import java.util.HashSet;   import java.util.Iterator;   import java.util.LinkedHashSet;

Solar24的博客 3万+

java 去除两个数组中的重复元素

import java.util.*; /** * 数组去重 * <p> * Created by Cheung on 2016/4/14. */ public class Test01 { public static void main(String[] args) { String[] srcArr = {"a", "b", "c", "c", "d",...

The__Grass的博客 4884

Java数组去除重复元素

import java.util.LinkedList; import java.util.List; /* * 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8} */ public class RemoveTest { public static void main(String[] args) {...

weixin_30653097的博客 143

java删除有序数组中的重复元素_java去除已排序数组中的重复元素

题目描述给定一个已排序的数组,去除数组中的重复元素,只保留一个重复的元素,并且返回新的数组长度。要求:不要给数组分配额外的空间,你必须使用常量的内存大小进行原地操作。例如:给出数组A=[1,1,2],你的函数调用之后必须返回长度length=2,并且A现在变成[1,2]。输入一个已排序的数组,例如[1,1,2]。输出返回数组新的长度,例如length=2。快慢指针法设置fast指针遍历数组,slo...

weixin_36073697的博客 1272

去除数组中的重复元素-JAVA

要求:去除二维数组中的重复元素思路:试试不用集合的方式去重复元素,首先我想到的是需要一个去重后存储元素的新数组,然后在两层嵌套循环,外层遍历原数组,内层逐一判断是否和后面的元素重合,然后在存入新数组。(这时候会出现一个问题,请往下看!)// 1、去除数组中重复的元素 public static void test(int[] arr) { // 定义新数组 int[] newarr = ...

牛牛的博客 924

Java两个数组合并,去除重复元素

合并两个数组并且排序 static int []a = {1,3,8,20}; static int []b = {2,3,3,11,12,15,26,27}; //定义下标 a=i b=j c=szie int i = 0; public int[] test(int []a,int []b) { Map<Integer,In...

充满希望的一天 1万+

JAVA合并两个有序数组并去除重复元素。

题目中说明是两个有序数组,就一个一个比较,第一个数组的第一个元素和第二个数组的第一个元素比较。小的插入到result数组中。若有重复的元素,则去其中一个。这个时候,相当于从两个数组中都取了一个元素,所以两个数组的下标都要后移,result的下标自然也要后移。 package com.algorithm; /* * 合并两个有序数组,合并之后还是有序的 并且去除重复的。 * */ publi

qq_34940959的博客 7398
上一篇: Android N行为变更 解决Android N上报android.os.FileUriExposedException
下一篇: APP接收通知处理逻辑项目实战经验总结
zdj_develop
博客等级 码龄11年 56粉丝 109原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值