rx.Observable.distinct()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(6.1k)|赞(0)|评价(0)|浏览(173)

本文整理了Java中rx.Observable.distinct()方法的一些代码示例,展示了Observable.distinct()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Observable.distinct()方法的具体详情如下:
包路径:rx.Observable
类名称:Observable
方法名:distinct

Observable.distinct介绍

[英]Returns an Observable that emits all items emitted by the source Observable that are distinct.

Scheduler: distinct does not operate by default on a particular Scheduler.
[中]返回一个Observable,该Observable发出源Observable发出的所有不同项。
调度程序:默认情况下,distinct不会在特定调度程序上运行。

代码示例

代码示例来源:origin: jaydenxiao2016/AndroidFire

  1. @Override
  2. public Observable<List<VideoData>> getVideosListData(final String type, int startPage) {
  3. return Api.getDefault(HostType.NETEASE_NEWS_VIDEO).getVideoList(Api.getCacheControl(),type,startPage)
  4. .flatMap(new Func1<Map<String, List<VideoData>>, Observable<VideoData>>() {
  5. @Override
  6. public Observable<VideoData> call(Map<String, List<VideoData>> map) {
  7. return Observable.from(map.get(type));
  8. }
  9. })
  10. //转化时间
  11. .map(new Func1<VideoData, VideoData>() {
  12. @Override
  13. public VideoData call(VideoData videoData) {
  14. String ptime = TimeUtil.formatDate(videoData.getPtime());
  15. videoData.setPtime(ptime);
  16. return videoData;
  17. }
  18. })
  19. .distinct()//去重
  20. .toSortedList(new Func2<VideoData, VideoData, Integer>() {
  21. @Override
  22. public Integer call(VideoData videoData, VideoData videoData2) {
  23. return videoData2.getPtime().compareTo(videoData.getPtime());
  24. }
  25. })
  26. //声明线程调度
  27. .compose(RxSchedulers.<List<VideoData>>io_main());
  28. }
  29. }

代码示例来源:origin: jaydenxiao2016/AndroidFire

  1. .distinct()//去重
  2. .toSortedList(new Func2<NewsSummary, NewsSummary, Integer>() {
  3. @Override

代码示例来源:origin: apache/usergrid

  1. .distinct( queueMessage -> {

代码示例来源:origin: apache/usergrid

  1. .distinct( new EdgeDistinctKey() )

代码示例来源:origin: apache/usergrid

  1. .distinct( new EdgeDistinctKey() )

代码示例来源:origin: BaronZ88/MinimalistWeather

  1. .distinct(weather -> weather.getWeatherLive().getTime())
  2. .takeUntil(weather -> !refreshNow && System.currentTimeMillis() - weather.getWeatherLive().getTime() <= 15 * 60 * 1000);

代码示例来源:origin: kaku2015/ColorfulNews

  1. .distinct()
  2. .toSortedList(new Func2<NewsSummary, NewsSummary, Integer>() {
  3. @Override

代码示例来源:origin: ribot/ribot-app-android

  1. /**
  2. * Retrieve list of venues. Behaviour:
  3. * 1. Return cached venues (empty list if none is cached)
  4. * 2. Return API venues (if different to cached ones)
  5. * 3. Save new venues from API in cache
  6. * 5. If an error happens and cache is not empty, returns venues from cache.
  7. */
  8. public Observable<List<Venue>> getVenues() {
  9. String auth = RibotService.Util.buildAuthorization(mPreferencesHelper.getAccessToken());
  10. return mRibotService.getVenues(auth)
  11. .doOnNext(new Action1<List<Venue>>() {
  12. @Override
  13. public void call(List<Venue> venues) {
  14. mPreferencesHelper.putVenues(venues);
  15. }
  16. })
  17. .onErrorResumeNext(new Func1<Throwable, Observable<? extends List<Venue>>>() {
  18. @Override
  19. public Observable<? extends List<Venue>> call(Throwable throwable) {
  20. return getVenuesRecoveryObservable(throwable);
  21. }
  22. })
  23. .startWith(mPreferencesHelper.getVenuesAsObservable())
  24. .distinct();
  25. }

代码示例来源:origin: leeowenowen/rxjava-examples

  1. @Override
  2. public void run() {
  3. Observable.just(1, 1, 2, 2, 3, 4, 4, 1, 1, 5)
  4. .distinct()
  5. .subscribe(new Action1<Integer>() {
  6. @Override
  7. public void call(Integer integer) {
  8. log(integer);
  9. }
  10. });
  11. }
  12. });

代码示例来源:origin: henrymorgen/android-advanced-light

  1. private void distinct() {
  2. Observable.just(1, 2, 2, 3, 4, 1).distinct().subscribe(new Action1<Integer>() {
  3. @Override
  4. public void call(Integer integer) {
  5. Log.d(TAG, "distinct:" + integer);
  6. }
  7. });
  8. }

代码示例来源:origin: hawkular/hawkular-metrics

  1. private List<String> loadTenantIds() {
  2. Iterable<String> tenantIds = dataAccess.findAllTenantIds()
  3. .map(row -> row.getString(0))
  4. .distinct()
  5. .toBlocking()
  6. .toIterable();
  7. return ImmutableList.copyOf(tenantIds);
  8. }

代码示例来源:origin: org.hawkular.metrics/hawkular-metrics-core-service

  1. private List<String> loadTenantIds() {
  2. Iterable<String> tenantIds = dataAccess.findAllTenantIds()
  3. .map(row -> row.getString(0))
  4. .distinct()
  5. .toBlocking()
  6. .toIterable();
  7. return ImmutableList.copyOf(tenantIds);
  8. }

代码示例来源:origin: hawkular/hawkular-metrics

  1. @Override
  2. public Observable<Tenant> getTenants() {
  3. return dataAccess.findAllTenantIds()
  4. .map(row -> row.getString(0))
  5. .distinct()
  6. .flatMap(id ->
  7. dataAccess.findTenant(id)
  8. .map(Functions::getTenant)
  9. .switchIfEmpty(Observable.just(new Tenant(id)))
  10. );
  11. }

代码示例来源:origin: org.hawkular.metrics/hawkular-metrics-core-service

  1. @Override
  2. public Observable<MetricId<?>> findAllMetricIdentifiers() {
  3. return dataAccess.findAllMetricIdentifiersInData()
  4. .compose(new MetricIdentifierFromFullDataRowTransformer(defaultTTL))
  5. .distinct();
  6. }

代码示例来源:origin: hawkular/hawkular-metrics

  1. @Override
  2. public Observable<MetricId<?>> findAllMetricIdentifiers() {
  3. return dataAccess.findAllMetricIdentifiersInData()
  4. .compose(new MetricIdentifierFromFullDataRowTransformer(defaultTTL))
  5. .distinct();
  6. }

代码示例来源:origin: nurkiewicz/rxjava-book-examples

  1. @Test
  2. public void sample_499() throws Exception {
  3. Observable<Status> tweets = Observable.empty();
  4. Observable<Long> distinctUserIds = tweets
  5. .map(status -> status.getUser().getId())
  6. .distinct();
  7. }

代码示例来源:origin: nurkiewicz/rxjava-book-examples

  1. @Test
  2. public void sample_490() throws Exception {
  3. final Observable<Integer> randomInts = randomInts();
  4. Observable<Integer> uniqueRandomInts = randomInts
  5. .distinct()
  6. .take(10);
  7. }

代码示例来源:origin: nurkiewicz/rxjava-book-examples

  1. Observable<Item> observeNewItems() {
  2. return Observable
  3. .interval(1, TimeUnit.SECONDS)
  4. .flatMapIterable(x -> query())
  5. .distinct();
  6. }

代码示例来源:origin: meltwater/rxrabbit

  1. private Observable.Transformer<Message,List<Integer>> getIdsTransformer(int nrMessages){
  2. return input -> input.
  3. compose(new TakeAndAckTransformer(nrMessages, TIMEOUT/10*9))
  4. .doOnNext(message -> log.debugWithParams("Got message", "id",message.basicProperties.getMessageId()))
  5. .map(RxRabbitTests::msgToInteger)
  6. .distinct()
  7. .toList();
  8. }

代码示例来源:origin: meltwater/rxrabbit

  1. private Observable.Transformer<Message, List<Integer>> getIdsTransformer(int nrMessages) {
  2. return input -> input.
  3. compose(new TakeAndAckTransformer(nrMessages, TIMEOUT / 10 * 9))
  4. .doOnNext(message -> log.debugWithParams("Got message", "id", message.basicProperties.getMessageId()))
  5. .map(RxRabbitTests::msgToInteger)
  6. .distinct()
  7. .toList();
  8. }

相关文章

Observable类方法