java合并两个通量没有重复

Posted

技术标签:

【中文标题】java合并两个通量没有重复【英文标题】:java merge two flux without duplicates 【发布时间】: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

顺序并不重要。

【问题讨论】:

在合并的 Flux 上调用 .distinct() 【参考方案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

【讨论】:

以上是关于java合并两个通量没有重复的主要内容,如果未能解决你的问题,请参考以下文章

基于没有重复的键合并两个字典

如何在有重复的列上合并两个 DataFrame,并输出没有重复的行

在 R 中合并两个数据帧,没有重复的条目

java 怎么把多个list 合并成一个去掉重复的

如何在php中合并没有重复的数组

java 怎么把多个list 合并成一个去掉重复的