黑马程序员技术交流社区
标题:
入学测试,数组去重遇到个问题
[打印本页]
作者:
yk942608890
时间:
2015-1-18 11:04
标题:
入学测试,数组去重遇到个问题
package com.itheima;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 第七题: 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
* @author YK
*
*/
public class Test7 {
public static void main(String[] args) {
Integer [] arrs={4,2,4,6,1,2,4,7,8};
Integer [] newarrays=getRidOf(arrs);
for(int i=0;i<newarrays.length;i++){
System.out.print(newarrays[i]+"\t");
}
}
/**
* 去除数组中重复的数字
* 思路:将数组变为集合
* @param arrs
* @return数组
*/
static Integer[] getRidOf(Integer[] arrs){
//将数组变成list集合
List<Integer> list=new ArrayList<Integer>();
list=Arrays.asList(arrs);
//新建一个集合用于保存新的对象
List<Integer> list2=new ArrayList<Integer>();
//遍历list容器
for(int i=0;i<list.size();i++){
//如果list2容器中不包含list中的元素,将元素保存在list2中
if(!list2.contains(list.get(i))){
list2.add(list.get(i));
}
}
//list.clear();
//将list2转换为数组返回
return (Integer[]) list2.toArray(new Integer[list2.size()]);
}
}
复制代码
list.clear();如果不注释掉,运行的话报错
java.lang.UnsupportedOperationException,求大神给分析分析
作者:
xiao飞
时间:
2015-1-18 11:25
我觉得你用TreeSet集合最好,因为Set集合中不能存入重复元素
作者:
xiao飞
时间:
2015-1-18 11:30
我也不太清楚 空集合是不能转换成数组把,个人觉得
作者:
yk942608890
时间:
2015-1-18 11:35
回头试试。3Q
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2