Java数组中重复数据的删除

用inta[]=newint[]输入一个数组后,怎么样才能从这个数组里找出重复的元素然后删掉?能不能做到把这些重复的元素删掉以后,后面的元素自动往前填补上来?比如说a[0... 用int a[]=new int[]输入一个数组后,怎么样才能从这个数组里找出重复的元素然后删掉?能不能做到把这些重复的元素删掉以后,后面的元素自动往前填补上来?比如说a[0]=1,a[1]=1,a[2]=3,处理完之后能不能变成a[0]=1,a[1]=3这样子的?求解 展开
 我来答
小傻

2015-11-11 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

java数组中去掉重复数据可以使用set集合,set本身内部是不保存重复的数据的,如下代码:

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

public class ceshi {
public static void main(String[] args) {

int[] testArr = { 5, 5, 1, 2, 3, 6, -7, 8, 6, 45, 5 };//新建一个int类型数组
System.out.println(Arrays.toString(testArr));
Set<Integer> set = new TreeSet<Integer>();//新建一个set集合
for (int i : testArr) {
set.add(i);
}
Integer[] arr2 = set.toArray(new Integer[0]);
// 数组的包装类型不能转 只能自己转;吧Integer转为为int数组;
int[] result = new int[arr2.length];
for (int i = 0; i < result.length; i++) {
result[i] = arr2[i];
}
System.out.println(Arrays.toString(arr2));
}
}

运行结果如下:

百度网友aab9546
2015-04-29
知道答主
回答量:7
采纳率:0%
帮助的人:10.3万
展开全部
package com.test.web;

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

public class TestSort {
public static void main(String[] args) {
int[] testArr={5,5,1,2,3,6,-7,8,6,45,5};
System.out.println(Arrays.toString(testArr));
Set<Integer> set=new TreeSet<Integer>();
for (int i : testArr) {
set.add(i);
}
Integer[] arr2=set.toArray(new Integer[0]);
//数组的包装类型不能转 只能自己转;吧Integer转为为int数组;
int[] result=new int[arr2.length];
for (int i = 0; i < result.length; i++) {
result[i]=arr2[i];
}
System.out.println(Arrays.toString(arr2));
}


}

你可以用SET,SET不可以添加重复的元素,吧素组转存到SAET当中,再把SET变成数组

追问
能写给我看一下吗?我是初学者没用过set。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-04-29
展开全部
可以使用List
追问
list我也用不来。。求指点
追答
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;


public class TestList {

public static void main(String[] args) {
/**
 *List: 可以按顺序存放你存入的数据,当你删除第 N 个元素后, N 后边的元素会逐个向前移
 *Set:是无序存放你存入的数据, 需要使用键值对
 *
 * 你可以通过使用下边的方式 去除一个 List 内重复的数据
 */
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 1, 2, 3 );
Set set = new HashSet<Integer>(list);
list = new ArrayList<Integer>(set);

System.out.println(list);

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式