代码之家  ›  专栏  ›  技术社区  ›  Mohammed Housseyn Taleb

java合并两个无重复的通量

  •  0
  • Mohammed Housseyn Taleb  · 技术社区  · 6 年前

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

    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 .

    顺序并不重要。

    1 回复  |  直到 6 年前
        1
  •  4
  •   Ricard Kollcaku    6 年前

    你可以这样做

         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

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