要求:
编写一个程序,输入数量不等的整数,然后降序输出这些数,要求数字不重复。
算法:
1、使用TreeSet(树形集)保存数据。原因:集合的特点是元素不重复。
2、TreeSet的无参构造方法以自然序(升序)排序;
3、TreeSet的有参构造方法使用Collections.reverseOrder()方法可返回一个逆序的比较器 。
可对升序进行逆序排序,即降序。
package pack2;
import java.util.Collections;
import java.util.Scanner;
import java.util.TreeSet;
public class TestTreeSet {
public static void main(String[] args) {
//创建一个树形集,使用Collections类的reverseOrder()方法返回一个逆序的比较器
TreeSet<Integer> treeSet = new TreeSet<>(Collections.reverseOrder());
try(Scanner input = new Scanner(System.in);){
int number;
System.out.print("Enter numbers, ends by 0: ");
do {
number = input.nextInt();
treeSet.add(number);
}while(number != 0);
for (Integer integer : treeSet) {
System.out.print(integer+" ");
}
}
}
}