我已经得到了基于以下方法的结果,但我很满意我需要其他方法和有效的方式来获得我的预期输出.

以下是我的解决方案:

public class PrintUnique {
    public static void main(String[] args) {
        int result = printUniquNums(112341);
        System.out.println(result);
    }

    private static int printUniquNums(int num) {

        String nums =  Integer.toString(num);
        char [] ch = nums.toCharArray();
        Set<Character> store = new LinkedHashSet<>();

        String res = "";
        for(int i=0; i< ch.length; i++){
            if(store.add(ch[i])){
                res += ch[i];
            }
        }
        return Integer.parseInt(res);
    }
 }

推荐答案

对Java lambdas和streams进行了一些调整.您的代码也很好.

public static void main(String[] args) {
        int result = printUniquNums(112341);
        System.out.println(result);
    }

    private static int printUniquNums(int num) {

        String nums =  Integer.toString(num);
        List<String> digits = List.of(nums.split(""));
        Set<String> uniqueDigits = new HashSet<>();
        String uniqueNum = digits.stream().filter(uniqueDigits::add).reduce(String::concat).orElse(""); // set add method returns true if value not present
        return Integer.parseInt(uniqueNum);
    }

Java相关问答推荐

Java字符串常数池困惑

无法在Java中将hhmmss格式的时间解析为LocalTime

填写文本字段后锁定PDF

AlarmManager没有在正确的时间发送alert

使用java访问具体子类特定方法的最佳方法是什么?

使用Testcontainers与OpenLiberty Server进行集成测试会抛出SocketException

呈现文本和四舍五入矩形时出现的JavaFX窗格白色瑕疵

JavaFX如何在MeshView中修复多个立方体?

在AVL树的Remove方法中使用NoSuchElementException时遇到问题

GSON期间的Java类型擦除

在Spring Boot应用程序中导致";MediaTypeNotSupportdException&qot;的映像上载

有没有更快的方法在N个容器中删除重复项?

为什么我的回收视图会显示重复的列表?

使用Jackson库反序列化json

垃圾收集时间长,会丢弃网络连接,但不会在Kubernetes中反弹Pod

删除打印语句会影响功能...腐败在起作用?

为什么相同的数据条码在视觉上看起来不同?

用于Java的Visual Studio代码完成不起作用

如何设置默认序列生成器分配大小

在输入端没有可行的替代方案'; Select *';