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合并两个通量没有重复的主要内容,如果未能解决你的问题,请参考以下文章