Java数组中重复数据的删除
用inta[]=newint[]输入一个数组后,怎么样才能从这个数组里找出重复的元素然后删掉?能不能做到把这些重复的元素删掉以后,后面的元素自动往前填补上来?比如说a[0...
用int a[]=new int[]输入一个数组后,怎么样才能从这个数组里找出重复的元素然后删掉?能不能做到把这些重复的元素删掉以后,后面的元素自动往前填补上来?比如说a[0]=1,a[1]=1,a[2]=3,处理完之后能不能变成a[0]=1,a[1]=3这样子的?求解
展开
3个回答
展开全部
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));
}
}
运行结果如下:
展开全部
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询