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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yk942608890 中级黑马   /  2015-1-18 11:04  /  1175 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.itheima;
  2. import java.util.ArrayList;
  3. import java.util.Arrays;
  4. import java.util.List;

  5. /**
  6. * 第七题: 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
  7. * @author YK
  8. *
  9. */
  10. public class Test7 {

  11.         public static void main(String[] args) {
  12.                 Integer [] arrs={4,2,4,6,1,2,4,7,8};
  13.                 Integer [] newarrays=getRidOf(arrs);
  14.                 for(int i=0;i<newarrays.length;i++){
  15.                         System.out.print(newarrays[i]+"\t");
  16.                 }
  17.         }
  18.         /**
  19.          * 去除数组中重复的数字
  20.          * 思路:将数组变为集合
  21.          * @param arrs
  22.          * @return数组
  23.          */
  24.         static Integer[] getRidOf(Integer[]  arrs){
  25.                 //将数组变成list集合
  26.                 List<Integer> list=new ArrayList<Integer>();
  27.                 list=Arrays.asList(arrs);
  28.                
  29.                 //新建一个集合用于保存新的对象
  30.                 List<Integer> list2=new ArrayList<Integer>();
  31.                
  32.                 //遍历list容器
  33.                 for(int i=0;i<list.size();i++){
  34.                         //如果list2容器中不包含list中的元素,将元素保存在list2中
  35.                         if(!list2.contains(list.get(i))){
  36.                                 list2.add(list.get(i));
  37.                         }
  38.                 }
  39.                 //list.clear();
  40.                 //将list2转换为数组返回
  41.                 return (Integer[]) list2.toArray(new Integer[list2.size()]);
  42.         }
  43. }
复制代码
list.clear();如果不注释掉,运行的话报错java.lang.UnsupportedOperationException,求大神给分析分析

3 个回复

正序浏览
回头试试。3Q
回复 使用道具 举报
我也不太清楚 空集合是不能转换成数组把,个人觉得
回复 使用道具 举报
我觉得你用TreeSet集合最好,因为Set集合中不能存入重复元素
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马