【问题标题】:java merge two flux without duplicatesjava合并两个通量没有重复
【发布时间】:2019-05-21 03:11:02
【问题描述】:

我有两个通量,我想合并它们以避免重复。我该怎么做?

这是我的助焊剂:

Flux<Tweet> remoteTweets = Flux.just(
        new Tweet("tag1",new TweetID("text","name"),"userimage","country","place"),
        new Tweet("tag2",new TweetID("text","name"),"userimage","country","place")
);

Flux<Tweet> localTweets = Flux.just(
        new Tweet("tag1",new TweetID("text","name"),"userimage","country","place")
);

合并这两个给我tag 1, tag1, tag2,但我想要tag1, tag2

顺序并不重要。

【问题讨论】:

标签: java flux spring-webflux reactor


【解决方案1】:

你可以这样做

     SpringApplication.run(BackendApplication.class, args);
  String[] strings = {"a","b","c"};
    Flux.merge(Flux.fromArray(strings),Flux.fromArray(strings))
            .distinct()
            .map(s -> {
                System.out.println(s);
                return s;
            }).subscribe();

但在您的 Tweet 对象中,您需要覆盖 equals 和 hashcode 请注意,首先查看 hashcode 是否相等,然后 .equal 函数

如果您使用的是 intellij,请尝试 alt+ insert 并单击 equal 和 hashCode

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2019-01-28
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多