使用java集合去掉数组中重复的值并打印出来,数组:{2,5,4,7,8,9,6,4}

如题所述

JAVA里面可以利用Set Map的唯一性来排除重复数值,具体代码如下:

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;

public class Test {

public static void main(String[] args) {

int[] ary = {2,5,4,7,8,9,6,4};

//通过Set集合的唯一性来做到去除重复
Set<Integer> set = new TreeSet<Integer>();
//利用map的KEY的唯一性来去除重复
Map<Integer, Object> map = new HashMap<Integer, Object>();

//利用集合特性去除重复值
for(int i = 0; i < ary.length; i++){
set.add(new Integer(i));
map.put(new Integer(i), null);
}

System.out.println("利用Set去除结果:");
for (Iterator iterator = set.iterator(); iterator.hasNext();) {
Integer integer = (Integer) iterator.next();
System.out.print(integer + " ");
}

System.out.println("\n利用Map去除结果:");
for(Iterator ite = map.keySet().iterator(); ite.hasNext();){
System.out.print(ite.next() + " ");
}

}

}
---------------程序结果
利用Set去除结果:
0 1 2 3 4 5 6 7
利用Map去除结果:
0 1 2 3 4 5 6 7
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-22
import java.util.ArrayList;
import java.util.List;

public class demo {

public static void main(String[] args) {
Integer[] nums = new Integer[]{2,5,4,7,8,9,6,4};
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < nums.length; i++) {
if (!list.contains(nums[i])) {
list.add(nums[i]);
}
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}

}
第2个回答  2011-03-22
1、如果打印结果按从小到大的顺序(jdk1.5及以上):
import java.util.HashSet;
import java.util.Set;
public class SetTest {
public static void main(String[] arg){
int [] a = {2,5,4,7,8,9,6,4};
Set<Integer> data = new HashSet<Integer>();
for (int i : a) {
data.add(i);
}
for (Object object : data) {
System.out.println(object);
}
}
}
//2、按照原有顺序输出
public class SetTest {
public static void main(String[] arg){
int [] a = {2,5,4,7,8,9,6,4};
for(int i=0; i<a.length; i++){
int j = 0;
for(j=0; j<i; j++){
if(a[i]==a[j])
break;
}
if(i==j)
System.out.print(a[i]+" ");
}
}
}
第3个回答  2011-03-22
用 LinkedHashmap 把数组元素作为KEY 元素个数做为value
然后用迭代器 循环遍历输出 所有的getkey
第4个回答  2011-03-22
遍历数组
放在Set里
再每个打印追问

能写出具体代码吗。

相似回答