java数组去重

//方法一:需要传入一个Object数组,然后返回去重后的数组

public static Object[] ifRepeat(Object[] arr){

//用来记录去除重复之后的数组长度和给临时数组作为下标索引

int t = 0;

//临时数组

Object[] tempArr = new Object[arr.length];

//遍历原数组

for(int i = 0; i < arr.length; i++){

//声明一个标记,并每次重置

boolean isTrue = true;

//内层循环将原数组的元素逐个对比

for(int j=i+1;j<arr.length;j++){

//如果发现有重复元素,改变标记状态并结束当次内层循环

if(arr[i]==arr[j] || arr[i].equals(arr[j])){

isTrue = false;

break;

}

}

//判断标记是否被改变,如果没被改变就是没有重复元素

if(isTrue){

//没有元素就将原数组的元素赋给临时数组

tempArr[t] = arr[i];

//走到这里证明当前元素没有重复,那么记录自增

t++;

}

}

//声明需要返回的数组,这个才是去重后的数组

Object[] newArr = new Object[t];

//用arraycopy方法将刚才去重的数组拷贝到新数组并返回

System.arraycopy(tempArr,0,newArr,0,t);

return newArr;

}

小白一枚,勤于整理,多多指教。

转载请注明来源,感谢合作。

原文地址:https://www.cnblogs.com/peijyStudy/p/10447734.html

时间: 2024-10-08 01:41:57

java数组去重的相关文章

java 数组如何去除重复的数据?

java数组去重example: String[] str={"john","lily","lily","lucy"}; List<String> list=new ArrayList<String>(); for(int i=0;i<str.length;i++){ if(!list.contains(str[i])){ list.add(str[i]); } }

两个数组去重合并

import java.util.HashSet; import java.util.Set; public class Demo2 { /* * 两个数组去重合并 */ public static void main(String[] args) { //初始化测试数据 int[] a = {1,3,3,2}; int[] b = {3,3,5,6}; //使用set类的HashSet对象保存两个数组中的值,因为该对象内的数值不允许重复,所以会自动删除数组中的重复值 Set c = new H

js 二维数组去重(续)

之前写过二维数组去重,今天再翻出来看了看,简直不忍直视,如此垃圾,所以今天重新写一下咯. 二维数组去重,重复问题一定要和哈希联系起来,js和java不一样,没有map(es6有),但是js有object,键是不会重复的,不多说,代码如下: var matrix=[ [1,2,3,4], [3,4,5,6], [1,2,3,4] ] var removeRepeat=function(arr){ var obj={}; for(var i=0;i<arr.length;i++){ // 判断当前项

数组去重的两个小技巧

数组去重的两个小技巧 首先es6有提供了 Set 对象, 同java中的 Set, set中的值不可以重复. 所以对于一个数组我们可以直接采用 const duplicateArr = [2,3,4,4,4,3]; const newArray = [...new Set(duplicateArr)]; console.log(newArray); 可以采用filter函数进行过滤, 查看index 是否跟当前的index一致. 因为indexOf返回的是第一个查找的位置 const dupli

58同城笔试题:数组去重;分饼干(分糖果);最小路径和(leetcode64)

1. 数组去重 题目描述 /** * 有序数组去重 * 输出最终的数字个数 * 输入:1,2,2 * 输出:2 * @author Turing * */ 代码 import java.util.*; public class E { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] str = sc.nextLine().split(","); int len

Java 数组学习笔记

数组的简单认识 简单理解java数组,就是可以创建并组装它们,通过使用整型索引值访问它们的元素,并且它们的尺寸不能改变,这里的它们就是数组. 数组的特殊性 在java中有很多方式去持有对象,那么数组的与众不同点在哪里? 数组与其他种类的容器区别有三个方面:效率.类型和保存基本类型的能力. 在java中,数组是一种效率最高的存储和随机访问对象引用序列的方式.数组就是一个简单的线性序列,这使得元素访问非常迅速.但是为之付出的代价就是数组对象的大小被固定,并且在其生命周期中不可改变. 在泛型之前,其他

Java数组与内存控制

一.Java数组初始化 Java数组是静态的,即当数组被初始化之后,该数组的长度是不可变的.Java数组使用之前必须先对数组对象进行初始化,所谓初始化,就是为数组的所有元素分配内存空间,并为每个数组元素指定初始值.(文章来源于李刚老师的<突破java程序员的16课>) 1:基本类型数组的两种初始化方式 静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度. 动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值. 不要同时使用静态初始化和动态初始化,也就是

javaScript数组去重方法

在JAvascript平时项目开发中经常会用到数组去重的操作.这时候就要用到JS数组去重的方法了. demo1: 第一种:JS数组去重操作方法是利用遍历原数组,利用数组的indexOf()方法来来判断新数组b中是否有原数组a中的元素,如果没有的话则在b数组的后面追加上a[i],如果有的话就不执行任何操作,最后可以达到数组去重的操作. 这种方法应该是平时开发中最常用的JS数组去重的方法了,简单又实用. demo2: 第二种去重的方法比较巧妙,是定义一个空对象和一个空数组,在遍历原数组的时候来用原数

json数组去重

// json数组去重 function getJsonArr(arr) { //定义需要的空数组 var newArr = []; //定义转换字符串后的数组 var newStringArr = []; $.each(arr, function (i, v) { var sArr = JSON.stringify(v); if ($.inArray(sArr, newStringArr) == -1) { // 根据字符串数组push对象 newStringArr.push(sArr); n