java去掉数组里的重复的数据

比如一个整形数组,里面有100个数,现在显示每个数字出现的次数。我写了一个方法遍历数组,然后返回出现的次数。但是这样有一个问题就是重复的数据会出现多次,比如5出现3次,在... 比如一个整形数组,里面有100个数,现在显示每个数字出现的次数。
我写了一个方法遍历数组,然后返回出现的次数。
但是这样有一个问题就是 重复的数据会出现多次,比如5 出现3次,在打印输出的时候会出现3次 5 出现 3次
我打算再写个方法 把原数组里的重复数据去掉,这样打印输出的时候按这个数组里的数据来打印。 不用set map list这些东西,只用最基本的数组操作能实现吗?

目前的思路是
遍历新数组2
调用计数方法返回这个值在数组1里的出现次数

计数方法:输入数组1,某个值 返回次数
删除方法:输入数组1,返回数组2, 删除数组1里的重复值
展开
 我来答
jaramy1111
2016-12-24 · TA获得超过348个赞
知道小有建树答主
回答量:382
采纳率:100%
帮助的人:92.6万
展开全部
计数方法,你在遍历数组外边int 一个数=0,如果某个数和数组【i】相等,就++
删除方法我用的是笨方法,因为数组不能直接增删操作,要先算出新数组的长度,在遍历出去,我是取巧了先排序了,当然你也可以用其他排序方法排序
public static void main(String[] args) {
int [] arr={1,2,2,3,4,5};
int len=arr.length;
Arrays.sort(arr);
int leng=0;
for( int i=0;i<arr.length-1;i++){
if(arr[i]!=arr[i+1]){
leng++;
}
}
if(arr[arr.length-2]!=arr[arr.length-1]){
leng++;
}
System.out.println(leng);
int newlength=0;
int []newArr=new int[leng];
for( int i=0;i<arr.length-1;i++){
if(arr[i]!=arr[i+1]){
newArr[newlength]=arr[i];
newlength++;
}
}
if(arr[arr.length-2]!=arr[arr.length-1]){
newArr[newlength]=arr[arr.length-1];
}
for(int i=0;i<newArr.length;i++){
System.out.println(newArr[i]);
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式