去除重复数字 java_应用Java去除一维数组中的重复数字,且不借助任何java工具类。...

昨天有个朋友突然问了我这个问题,一时我竟然无言以对,刚开始就是局限于没办法记录重复位置,作为刚刚接触java语言的菜鸟,绞尽脑汁地一最笨的方法实现了,还望大神指点出更好的方法。

public class Test01 {

public static void main(String[] args) {

test1();

}

/**

* 方法名: test1

* 方法描述:一位数组去除重复的数字,不借助java工具类,方法比较笨拙,还请高手指点

* @param: Test01

* @return: void

* @Author: IT黄鹂

* @create Date: Dec 9, 2014

*/

private static void test1(){

int[] arry1 = {1,2,1,3,1,23,14,12,321,2,5,5,1,32,2,13,12};

//统计重复的数字

boolean[] repeat = new boolean[arry1.length];

for(int i = 0;i

for(int j = 0;j

if(i>j&&arry1[i]==arry1[j]){//如果该数字和他以后的每个数字相比较如果相等将repeat[j]位置置为true

repeat[j]=true;

}

}

}

//计算第二个数组的长度

int lenth = 0;

for(int i = 0;i

if(repeat[i]==false)lenth++;

}

int[] arry2 = new int[lenth];//定义新数组去接收非重复数字

int temp = 0;//记录第二个数组的长度

//将所有的数字转移到新的数组中去

for(int i = 0;i

if(repeat[i]==false){

arry2[temp]=arry1[i];

temp++;

}

}

//打印结果验证

for(int s:arry2){

System.out.print(s+",");

}

System.out.println("共有重复数字"+(repeat.length-lenth));

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值