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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wuyusi 中级黑马   /  2015-6-3 00:44  /  507 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.*;
class  GetSingle
{
        public static void main(String[] args)
        {
                int arr []={1,2,4,5,7,7,8,4,7,3,8,9,2};
                //定义一个LinkedList集合,后面要进行删除
                LinkedList link1 = new LinkedList();
                        //遍历数组,将数据存入集合
                for (int x = 0;x<arr.length ;x++ )
                {
                        link1.add(arr[x]);
                }
                //定义另一个LinkedList集合用于存放新数据
                LinkedList link2 = new LinkedList();
                //迭代原集合,将不重复的数据存入新集合
                Iterator it =link1.iterator();
                while(it.hasNext())
                {
                       
                          Integer si= (Integer)it.next();
                        while(!(link2.contains(si)))
                                link2.add(si);
                }
        System.out.println(link2.toString());
    }
要睡觉了,就写到这里,以后再改进,加上泛型,并将重复元素出现的次数打印       

8 个回复

倒序浏览
何不考虑Set
回复 使用道具 举报
思路不错,前几天我也写了一个去除数组重复元素的方法,你可以去点评一下
回复 使用道具 举报
wuyusi 来自手机 中级黑马 2015-6-3 08:05:45
板凳
ZYZQ 发表于 2015-6-3 00:53
何不考虑Set

因为考虑到set无序,不方便结果与原数组对照
回复 使用道具 举报
不错,学习了,加油
回复 使用道具 举报
我面试的时候碰到就是这个题目  
回复 使用道具 举报
第一个for那里可以直接用List list1= Arrays.asList(arr); 用数组工具类的asList 方法将数组转为集合比较简单

点评

嗯,我找时间试试,谢谢  发表于 2015-6-3 17:48
回复 使用道具 举报
不过我刚刚注意到一个问题,用数组工具类的数组变集合的方法,如果要转换基本数据类型的数组,只会把数组的地址值存入集合,但是如果是基本数据类型包装类的数组的话,就会直接把数组中的元素存入集合,所以要int[ ] 型的还是使用for循环存如集合更实际,Integer[ ]可以使用数组工具类,误导你了,不好意思哈  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马