我有两个通量,我想合并它们以避免重复。我该怎么做?
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 .
tag 1, tag1, tag2
tag1, tag2
顺序并不重要。
你可以这样做
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