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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 陈培果 于 2014-5-10 08:55 编辑
  1. /**
  2. * 5、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
  3. */
  4. import java.util.*;
  5. public class Test5
  6. {

  7.                          public static void main(String[] args)
  8.                         {
  9.                 //定义一个数组并赋值
  10.                 int[] arr = new int[]{4,2,4,6,1,2,4,7,8};
  11.                 //定义一个容器集合
  12.                ArrayList<Integer> al = new ArrayList<Integer>();
  13.                 //将数组中不重复的元素添加进入容器
  14.                                 for (int i = 0; i < arr.length; i++)
  15.                                 {
  16.                                         if (!al.contains(arr[i]))
  17.                        al.add(arr[i]);   
  18.                 }
  19.                                 Iterator<Integer> it=al.iterator();//定义一个迭代器并打印
  20.                                 sop("{");
  21.                                 for (int i=0;i<al.size()-1 ;i++)
  22.                                 {
  23.                                         sop(it.next()+",");
  24.                                        
  25.                                 }
  26.                                 sop(it.next());
  27.                                 sop("}");
  28.                         }
  29.                         public static void sop(Object obj )//实现打印功能的小程序,减少代码。
  30.                         {
  31.                                 System.out.print(obj);
  32.                         }

  33. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
张然龙 + 1

查看全部评分

7 个回复

倒序浏览
本帖最后由 曹冬明 于 2014-5-9 21:04 编辑
  1. package com.itheima;

  2. import java.util.HashSet;
  3. import java.util.Set;

  4. public class ArrayDemo {

  5.         public static void main(String[] args) {
  6.                 Integer[] arr = new Integer[]{4,2,4,6,1,2,4,7,8};
  7.                 String[] arr1 = new String[]{"a","a","b","bc","b","abc"};                        
  8.                
  9.                 printArray(rdDup(arr));
  10.                 printArray(rdDup(arr1));
  11.         }

  12.         private static void printArray(Object[] arr1) {
  13.                 System.out.print("{");
  14.                 for (int i = 0; i < arr1.length; i++) {
  15.                         if(i!=arr1.length-1)
  16.                                 System.out.print(arr1[i]+",");
  17.                         else
  18.                                 System.out.println(arr1[i]+"}");
  19.                 }
  20.         }
  21.         
  22.         public static Object[] rdDup(Object[] obj){
  23.                 Set<Object> set = new HashSet<Object>();
  24.                
  25.                 for (int i = 0; i < obj.length; i++) {
  26.                         set.add(obj[i]);
  27.                 }
  28.                 return set.toArray();
  29.         }
  30. }
复制代码
我刚写的,比你的麻烦一点

点评

你这个我刚才也写了一下,但是由于hashSet里的顺序改变了,跟他要的结果有出入  发表于 2014-5-9 21:22
回复 使用道具 举报 2 1
曹冬明 发表于 2014-5-9 20:59
我刚写的,比你的麻烦一点

恩,我想把我程序后面的打印弄简单一点,打印结果花了我四句话
回复 使用道具 举报 1 0
陈培果 发表于 2014-5-9 21:39
恩,我想把我程序后面的打印弄简单一点,打印结果花了我四句话

封装成方法,看起来就没那么乱了
回复 使用道具 举报 1 0
曹冬明 发表于 2014-5-9 21:53
封装成方法,看起来就没那么乱了

恩,这个倒是是
回复 使用道具 举报 1 0

你技术分好多,怎么挣的啊,
回复 使用道具 举报
封装成方法,看起来就没那么乱了?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马