java删除数组中重复的数。

编写一个程序删除数组中重复的数,然后将剩余的数输出
要求数组中的元素人工输入
求最基础的方法
谢谢

最直接的方式, 用嵌套循环, 从数组第一个元素开始与该元素之后的所有元素比较, 如果发现相同的,则删除后者

这是方法:

for (i=0; i < 数组长度; i++)
{
int temp = 元素[i];
for (int j = i +1; j < 数组长度; j++)
{
if (temp == 元素[j])
删除元素[j];
}
}追问

请问怎么删除?

追答

删除元素直接使用数组的删除功能啊, 在循环中你已经找到了重复元素的索引为 j 了, 那么删除数组中 的 j 元素就可以了

不过, 你可以用一种更加优化的方式, 代码:

// 原始数组
String [] str = {"001", "002", "003", "004", "001", "002", "005"};

List list = new ArrayList();
for (int i=0; i<str.length; i++) {
if(!list.contains(str[i])) {//如果数组 list 不包含当前项,则增加该项到数组中
list.add(str[i]);
}
}
//输出
System.out.println();
String[] newStr = list.toArray(new String[1]);
for (String element:newStr ) {
System.out.print(element + " ");
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-29
这个简单点的方法就是,把这个数组的数字全部put进一个Map里面。重复的自然会被替换掉。最后把Map里面的key值再输出来就完全没有重复了。