A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 敏敏好学 中级黑马   /  2014-9-15 17:26  /  1201 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

”数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}“   这是基础测试时的一道题,下面是我的答案,当时想了很久才做出来,还有没有更好的答案?
public class Text8 {
/**
* 8、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
*/
        public static void main(String args[]){
                 int x=0;
                //定义一个数组
                int arry[]=new int[] {11,4,5,8,5,6,11,12,12,31,5};
               
                //遍历整个数组,查找相同的数,用x标记
                for(int i=0;i<arry.length;i++)                       
                {
                        for(int k=i+1;k<arry.length;k++)
                        {
                                if(arry[i]==arry[k])
                                        x=i;                               
                        }
                        //输出没有被x标记的数组
                    if(i!=x)
                      System.out.print(arry[i]+"  ");
                }
        }
}

4 个回复

倒序浏览
求大神啊!!!
回复 使用道具 举报
你这样还得新定义一个数组  
public class Test8 {

        public static void main(String[] args){
                int in[]={4,2,4,6,1,2,4,7,8};
                //根据LinkedHashSet的特点,将数组in添加到set中,依据无重复特点实现
                Set set=new LinkedHashSet();
                for(int i=0;i<in.length;i++){
                        System.out.println(in[i]);
                        set.add(in[i]);                       
                }       
                Iterator it=set.iterator();
                while(it.hasNext()){
                        System.out.println(it.next());
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
舍我其谁 + 1

查看全部评分

回复 使用道具 举报
花开彼岸天 发表于 2014-9-15 17:48
你这样还得新定义一个数组  
public class Test8 {

用set集合去重固然是好,但是题目要求结果还得是个数组!记得toArray();

评分

参与人数 1技术分 +1 收起 理由
舍我其谁 + 1

查看全部评分

回复 使用道具 举报
顶一个。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马