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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

17043983

初级黑马

  • 黑马币:15

  • 帖子:16

  • 精华:0

© 17043983 初级黑马   /  2014-6-10 22:36  /  1403 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 17043983 于 2014-6-11 11:54 编辑

6、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
  1. public class Test6 {
  2.     public static void main(String[] args) {
  3.         int[] a = { 4, 2, 4, 6, 1, 2, 4, 7, 8 };

  4.         // Set集合无序,不允许有重复的值
  5.         // LinkedHashSet是Set子类,有序且不允许重复
  6.         LinkedHashSet<Integer> list = new LinkedHashSet<Integer>();

  7.         // 将a[]数组的值加到set里面,重复的加不进去。
  8.         for (int i = 0; i < a.length; i++) {
  9.             list.add(a[i]);
  10.         }
  11.         System.out.println(list.toString());
复制代码


大家是怎么做的,说说思路看看还有更好的方法没。

9 个回复

倒序浏览
  1. package com.itheima;

  2. import java.util.ArrayList;
  3. import java.util.Arrays;

  4. public class Test08 {

  5.         /**
  6.          * @param args
  7.          */
  8.         public static void main(String[] args) {
  9.                 int [] arr = {4,2,4,6,1,2,4,7,8};//原始数组
  10.                
  11.                 ArrayList<Integer> al = new ArrayList<Integer>();
  12.                
  13.                 for (int x = 0; x < arr.length; x++) {//在将数组元素添加到ArrayList集合过程当中,去除重复的元素
  14.                         if(!al.contains(arr[x]))
  15.                                 al.add(arr[x]);
  16.                 }
  17.                 Integer [] buf = al.toArray(new Integer[al.size()]);//再将无重复元素的集合转换为整型数组。
  18.        
  19.                 System.out.print(Arrays.toString(buf));
  20.         }

  21. }
复制代码




我也抽到这个测试题了,这是我的做法,我觉得遍历数组可以更简便些,贴出来交流一下

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1 赞一个!

查看全部评分

回复 使用道具 举报
Gaara33 发表于 2014-6-10 22:48
我也抽到这个测试题了,这是我的做法,我觉得遍历数组可以更简便些,贴出来交流一下 ...

刚才代码弄错了,我有修改了一下,现在就简单了。
回复 使用道具 举报
17043983 发表于 2014-6-10 22:55
刚才代码弄错了,我有修改了一下,现在就简单了。

更简单了就贴出来,呵呵,大家分享
回复 使用道具 举报
Gaara33 发表于 2014-6-10 23:01
更简单了就贴出来,呵呵,大家分享

我就是在之前的代码里面修改的。
回复 使用道具 举报
17043983 发表于 2014-6-10 23:07
我就是在之前的代码里面修改的。

对了,话说你的技术分为什么是1分,技术分还可以花吗?我刚注册2分,不好挣
回复 使用道具 举报
Gaara33 发表于 2014-6-10 23:09
对了,话说你的技术分为什么是1分,技术分还可以花吗?我刚注册2分,不好挣 ...

我也不知道为啥我是1分,貌似要10分才可以进入下一轮的。
回复 使用道具 举报
苦逼啊,三天了还是默认的技术分,Lz我是过来水经验的,以及学习的
回复 使用道具 举报
不去会死 发表于 2014-6-11 08:01
苦逼啊,三天了还是默认的技术分,Lz我是过来水经验的,以及学习的

我的技术分也只有一份啊
回复 使用道具 举报
用set肯定最快,数据往里一存就出来了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马