import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.TreeMap; /** * 【题目描述】<br> * 某科研小组最近通过实验获得了若干数据,均为不过10^9的整数,现要对其进行处理,<br> * 对于其中重复的数字,只保留一个,把其余相同的数去掉。然后再把这些数从小到大排序,<br> * 按照排好的顺序对数据进得核实与分析,请您协助此科研小组完成处理数据的工作。<br> * <br> * 【输入】 <br> * 第一行有一个正整数 T(T<=10),表示数据组数。 接下来有 T 组数据,每组数据有 2 行,<br> * 第 1 行为一个正整数,表示实验结果的个数:N(1<=N<=100), 第 2 行有 N 空格隔开的<br> * 正整数,为实验数据。<br> * <br> * 【输出】<br> * 输出 T 行,每行对应一组数据,有若干正整数,为从小到大排好序的不同的数据。每组<br> * 数据的多个数字之间用一个空格隔开,请不要在行首或行末输出多余的空格。<br> * <br> * 【样例出入】<br> * <code> * 2 * 10 * 20 40 32 67 40 20 89 300 400 15 * 4 * 1 2 1 2 * </cdoe> * <br> * 【样例输出】<br> * <code> * 15 20 32 40 67 89 300 400 * 1 2 * <code> * <br> * @author chenchao * */ public class A { /** * @param args */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int r = sc.nextInt(); for (int i = 0; i < r; i++) { int num = sc.nextInt(); // 利用 TreeMap 的自动排序功能 Map<Integer, Integer> map = new TreeMap<Integer, Integer>(); int data = 0; for (int j = 0; j < num; j++) { data = sc.nextInt(); map.put(data, data); } StringBuilder sb = new StringBuilder(); for (Iterator<Integer> it = map.keySet().iterator(); it.hasNext();) { sb.append(it.next() + " "); } System.out.println(sb.toString().trim()); } } }