使用功能接口的功能集

发布于 2025-01-23 02:33:28 字数 1400 浏览 0 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

养猫人 2025-01-30 02:33:28

尝试一下。

public static <T> Set<Function<T, T>> bijectionsOf(Set<T> set) {
    ArrayList<T> domain = new ArrayList<>(set);
    return permutations(domain, new ArrayList<>(), set.size(), 0)
        .stream()
        .map(list -> (Function<T, T>) t -> list.get(domain.indexOf(t)))
        .collect(Collectors.toSet());
}

输出:

1 --> 1; 2 --> 3; 3 --> 2;
1 --> 3; 2 --> 2; 3 --> 1;
1 --> 2; 2 --> 1; 3 --> 3;
1 --> 3; 2 --> 1; 3 --> 2;
1 --> 1; 2 --> 2; 3 --> 3;
1 --> 2; 2 --> 3; 3 --> 1;

Try this.

public static <T> Set<Function<T, T>> bijectionsOf(Set<T> set) {
    ArrayList<T> domain = new ArrayList<>(set);
    return permutations(domain, new ArrayList<>(), set.size(), 0)
        .stream()
        .map(list -> (Function<T, T>) t -> list.get(domain.indexOf(t)))
        .collect(Collectors.toSet());
}

output:

1 --> 1; 2 --> 3; 3 --> 2;
1 --> 3; 2 --> 2; 3 --> 1;
1 --> 2; 2 --> 1; 3 --> 3;
1 --> 3; 2 --> 1; 3 --> 2;
1 --> 1; 2 --> 2; 3 --> 3;
1 --> 2; 2 --> 3; 3 --> 1;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文