JAVA基础(TreeSet倒序排列)

本文介绍如何利用Java的TreeSet集合配合自定义比较器,实现键盘输入整数的倒序排列。程序在接收到'quit'时停止输入,并打印已排序的整数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,需求

  • 程序启动后, 可以从键盘输入接收多个整数, 直到输入quit时结束输入. 把所有输入的整数倒序排列打印.

 

2,分析

  • 创建Scanner对象,键盘录入

  • 创建TreeSet集合对象,TreeSet集合中传入比较器

  • 无限循环不断接收整数,遇到quit退出,因为退出是quit,所以键盘录入的时候应该都以字符串的形式录入

  • 判断是quit就退出,不是将其转换为Integer,并添加到集合中

  • 遍历TreeSet集合并打印每一个元素


 

import java.util.Comparator;

import java.util.Scanner;

import java.util.TreeSet;





public class Test6 {





    public static void main(String[] args) {

        //1,创建Scanner对象,键盘录入

        Scanner sc = new Scanner(System.in);

        //2,创建TreeSet集合对象,TreeSet集合中传入比较器

        TreeSet<Integer> ts = new TreeSet<>(new Comparator<Integer>() {





            @Override

            public int compare(Integer i1, Integer i2) {

                //int num = i2 - i1;                    //自动拆箱

                int num = i2.compareTo(i1);

                return num == 0 ? 1 : num;

            }

        });

        //3,无限循环不断接收整数,遇到quit退出,因为退出是quit,所以键盘录入的时候应该都以字符串的形式录入

        while(true) {

            String line = sc.nextLine();                //将键盘录入的字符串存储在line中

            if("quit".equals(line)) {

                break;

            }

            //4,判断是quit就退出,不是将其转换为Integer,并添加到集合中

            Integer i = Integer.parseInt(line);

            ts.add(i);

        }

        

        // 5,遍历TreeSet集合并打印每一个元素

        for (Integer integer : ts) {

            System.out.println(integer);

        }

    }





}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值