java 合并两个不重复的通量
java merge two flux without duplicates
我有两个通量,我想合并它们以避免重复。我该怎么做?
这是我的通量:
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
。
顺序不重要。
你可以这样做
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
注意 distinct 首先看 hashcode 是否相等然后 .equal function
如果您使用的是 intellij,请尝试使用 alt+ 插入并单击 equal 和 hashCode
我有两个通量,我想合并它们以避免重复。我该怎么做?
这是我的通量:
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
。
顺序不重要。
你可以这样做
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 注意 distinct 首先看 hashcode 是否相等然后 .equal function
如果您使用的是 intellij,请尝试使用 alt+ 插入并单击 equal 和 hashCode