国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table des matières
L'exemple de code est le suivant?:
Maison Java javaDidacticiel Une explication approfondie des techniques de RxJava_04 [opération de filtrage de transmission de données]

Une explication approfondie des techniques de RxJava_04 [opération de filtrage de transmission de données]

Mar 04, 2017 am 09:49 AM

Ce tutoriel est basé sur RxJava1 >Lorsque l'observateur envoie des données à l'observateur, les données peuvent devoir être filtrées davantage pendant la transmission des données. Le didacticiel suivant couvre les fonctions de la plupart des opérations de filtrage.
Distinct - supprime les données en double envoyées

    Filtre - filtre les données spécifiques en fonction des conditions
  1. First - Obtenez les premières données de la file d'attente d'envoi
  2. Last - Obtenez les dernières données de la file d'attente d'envoi
  3. ElementAt - Selon l'index Envoyer des données spécifiques dans la file d'attente
  4. Take - Récupérer les n premiers éléments de données de la file d'attente
  5. TakeLast - Récupérer les n derniers éléments de données dans la file d'attente
  6. Sample - Envoyer en envoyant un échantillon de temps en fonction des données envoyées
  7. IgnoreElements - Ignorer la file d'attente des données envoyées
  8. 1.Distinct
  9. Il y a maintenant une classe et les informations sur les étudiants ont été saisies dans le système étudiant. Il s’est avéré que les mêmes données étaient répétées. La file d'attente des données des étudiants est la suivante?:

Le besoin actuel est d'intercepter les objets portant des noms en double. Et imprimez-le?:

Le résultat est le suivant?:

private ArrayList<Student> initPersons() {
    ArrayList<Student> persons = new ArrayList<>();
    persons.add(new Student("張三", 16));
    persons.add(new Student("李四", 17));
    persons.add(new Student("王二麻子", 18));
    persons.add(new Student("張三", 22));
    return persons;
}

2.Filtre

Observable
    .from(initPersons())
    //過濾重復名字的項
    .distinct(new Func1<Student, String>() {
        @Override
        public String call(Student student) {
            return student.name;
        }
    })
    .subscribe(new Action1<Student>() {
        @Override
        public void call(Student student) {
            Log.i(TAG, "call: "+student);
        }
    });
En plus de filtrer les parties répétées des données transmises , vous pouvez également utiliser le filtre Effacer des données spécifiques en fonction de règles.

Les données envoyées par le code suivant sont 12345. La règle de filtrage est que la barre de données doit être inférieure à 4. L'exemple de code est le suivant?:
IT520: call: Student{name=&#39;張三&#39;, age=16}
IT520: call: Student{name=&#39;李四&#39;, age=17}
IT520: call: Student{name=&#39;王二麻子&#39;, age=18}

Sortie

3 .Premier

Observable.just(1, 2, 3, 4, 5)
      .filter(new Func1<Integer, Boolean>() {
          @Override
          public Boolean call(Integer item) {
            return( item < 4 );
          }
      })
      .subscribe(new Subscriber<Integer>() {
            @Override
            public void onNext(Integer item) {
                System.out.println("Next: " + item);
            }

            @Override
            public void onError(Throwable error) {
                System.err.println("Error: " + error.getMessage());
            }

            @Override
            public void onCompleted() {
                System.out.println("Sequence complete.");
            }
        });
Appelez cette fonction pour que la file d'attente des données envoyées envoie uniquement le premier élément.

Exemple de code
Next: 1
Next: 2
Next: 3
Sequence complete.

Sortie

Des fonctions similaires incluent firstOrDefault(), qui est envoyée dans la file d'attente si la file d'attente est null , qui Autrement dit, si le premier élément n'est pas trouvé, une valeur par défaut sera envoyée.
Observable.just(1, 2, 3)
      .first()
      .subscribe(new Subscriber<Integer>() {
    @Override
    public void onNext(Integer item) {
        System.out.println("Next: " + item);
    }

    @Override
    public void onError(Throwable error) {
        System.err.println("Error: " + error.getMessage());
    }

    @Override
    public void onCompleted() {
        System.out.println("Sequence complete.");
    }
});

4.Last
Next: 1
Sequence complete.

Appelez cette fonction pour envoyer uniquement le dernier élément de la file d'attente des données envoyées. Exemple de code

Sortie

Les fonctions similaires incluent lastOrDefault(T)
Observable.just(1, 2, 3)
      .last()
      .subscribe(new Subscriber<Integer>() {
    @Override
    public void onNext(Integer item) {
        System.out.println("Next: " + item);
    }

    @Override
    public void onError(Throwable error) {
        System.err.println("Error: " + error.getMessage());
    }

    @Override
    public void onCompleted() {
        System.out.println("Sequence complete.");
    }
});

5.
Next: 3
Sequence complete.

L'opérateur ElementAt obtient l'élément de données à la position d'index spécifiée de la séquence de données émise par l'observable d'origine, puis l'émet comme ses propres données uniques. Si vous transmettez un nombre négatif ou si le nombre d'éléments de données dans l'observable d'origine est inférieur à l'index 1, une IndexOutOfBoundsException sera levée.

L'exemple de code est le suivant?:

Sortie

6.Take

Observable.just(1, 2, 3, 4, 1, 4)
    .elementAt(3)
    .subscribe(new Action1<Integer>() {
        @Override
        public void call(Integer value) {
            Log.i(TAG, "call: " + value);
        }
    });
L'utilisation de l'opérateur Take permet de modifier le comportement de l'Observable, seuls les N premiers éléments de données sont renvoyés, puis la notification d'achèvement est émise et les données restantes sont ignorées.

Exemple de code
com.m520it.rxjava I/IT520: call: 4

Sortie

7.TakeLast

Observable.just(1, 2, 3, 4, 5, 6, 7, 8)
      .take(4)
      .subscribe(new Subscriber<Integer>() {
            @Override
            public void onNext(Integer item) {
                System.out.println("Next: " + item);
            }

            @Override
            public void onError(Throwable error) {
                System.err.println("Error: " + error.getMessage());
            }

            @Override
            public void onCompleted() {
                System.out.println("Sequence complete.");
            }
        });
Utilisez l'opérateur TakeLast pour modifier l'observable d'origine, vous pouvez simplement émettre l'Observable' Les N dernières données transmises sont ignorées. Les données précédentes sont ignorées.

Exemple de code
Next: 1
Next: 2
Next: 3
Next: 4
Sequence complete.

Sortie

8.Sample

Observable.just(1, 2, 3, 4, 5, 6, 7, 8)
      .takeLast(4)
      .subscribe(new Subscriber<Integer>() {
            @Override
            public void onNext(Integer item) {
                System.out.println("Next: " + item);
            }

            @Override
            public void onError(Throwable error) {
                System.err.println("Error: " + error.getMessage());
            }

            @Override
            public void onCompleted() {
                System.out.println("Sequence complete.");
            }
        });
échantillonnez les données envoyées à une certaine fréquence

Next: 5
Next: 6
Next: 7
Next: 8
Sequence complete.
Le code ci-dessus s'imprime?: 0, 2, 4, 6, 8. . . .

9.IgnoreElements

Si vous ne vous souciez pas des données émises par un observable, mais souhaitez être averti lorsqu'il se termine ou se termine par une erreur, vous pouvez utiliser l'opérateur ignoreElements sur l'Observable, cela garantira que la méthode onNext() de l'observateur ne sera jamais appelée.
Observable
        .interval(1000, TimeUnit.MILLISECONDS)//每秒發(fā)送1個數(shù)字
        .sample(2000,TimeUnit.MILLISECONDS)//每2秒采樣一次
        .subscribe(new Action1<Long>() {
            @Override
            public void call(Long aLong) {
                Log.i(TAG, "call: "+aLong);
            }
        });

Ce qui précède est une introduction approfondie aux techniques de RxJava_04 [opération de filtrage de transmission de données]. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.miracleart.cn)?!

Observable.just(1, 2, 3, 4, 1)
            .ignoreElements()//不發(fā)送任何信息 直接發(fā)送onCompleted()
            .subscribe(new Subscriber<Integer>() {
                @Override
                public void onCompleted() {
                    Log.i(TAG, "onCompleted: ");
                }

                @Override
                public void onError(Throwable e) {

                }

                @Override
                public void onNext(Integer integer) {
                    Log.i(TAG, "onNext: "+integer);
                }
            });
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Guide d'appel de l'API React?: Comment interagir et transférer des données avec l'API backend Guide d'appel de l'API React?: Comment interagir et transférer des données avec l'API backend Sep 26, 2023 am 10:19 AM

Guide d'appel ReactAPI : Comment interagir avec et transférer des données vers l'API backend Présentation : Dans le développement Web moderne, interagir avec et transférer des données vers l'API backend est une exigence courante. React, en tant que framework frontal populaire, fournit des outils et fonctionnalités puissants pour simplifier ce processus. Cet article explique comment utiliser React pour appeler l'API backend, y compris les requêtes de base GET et POST, et fournit des exemples de code spécifiques. Installez les dépendances requises?: Tout d'abord, assurez-vous qu'Axi est installé dans le projet

Utilisation de HTTPS pour la transmission de données dans le développement d'API Java Utilisation de HTTPS pour la transmission de données dans le développement d'API Java Jun 18, 2023 pm 10:43 PM

Avec le développement de la science et de la technologie, la communication en réseau est devenue l’un des outils importants de transmission de l’information dans la société moderne. Mais dans le même temps, la transmission d’informations sur le réseau est confrontée à des risques d’attaques malveillantes et de vol, la sécurité est donc particulièrement importante. C’est sur cette base qu’est né le protocole HTTPS. Il s'agit d'un protocole qui ajoute le cryptage SSL/TLS au protocole HTTP pour assurer la sécurité de la transmission réseau. En tant que langage largement utilisé dans le développement de réseaux, Java fournit naturellement une API riche pour prendre en charge le protocole HTTPS. Cet article sera

Comment transférer toutes les données entre deux iPhones Explication détaillée : Comment migrer les données d'anciens téléphones Comment transférer toutes les données entre deux iPhones Explication détaillée : Comment migrer les données d'anciens téléphones Mar 18, 2024 pm 06:31 PM

Lorsque de nombreux amis changent de téléphone Apple, ils souhaitent importer toutes les données de l'ancien téléphone vers le nouveau téléphone. En théorie, c'est tout à fait réalisable, mais en pratique, il est impossible de ? transférer toutes ? les données. énumérez plusieurs fa?ons de ? transférer une partie des données ?. 1. iTunes est un logiciel préinstallé sur les téléphones mobiles Apple. Il peut être utilisé pour migrer toutes les données des anciens téléphones mobiles, mais il doit être utilisé conjointement avec un ordinateur. La migration peut être effectuée en installant iTunes sur l'ordinateur, puis en connectant le téléphone et l'ordinateur via un cable de données, en utilisant iTunes pour sauvegarder les applications et les données du téléphone, et enfin en restaurant la sauvegarde sur le nouveau téléphone Apple. 2. iCloudiCloud est l'outil ? espace cloud ? exclusif d'Apple. Vous pouvez d'abord vous connecter à votre ancien téléphone.

PHP trait DTO : un outil clé pour optimiser le processus de transfert de données PHP trait DTO : un outil clé pour optimiser le processus de transfert de données Oct 12, 2023 pm 02:33 PM

PHPtraitDTO : Un outil clé pour optimiser le processus de transfert de données, des exemples de code spécifiques sont requis Présentation : Dans le développement PHP, le transfert de données est une tache très courante, comme la transmission de données du contr?leur à la vue, la transmission de données de l'interface au front fin, etc Cependant, lors du processus de transmission des données, celles-ci doivent souvent être traitées, converties et encapsulées, ce qui peut entra?ner une redondance du code et des difficultés de maintenance. Pour résoudre ce problème, nous pouvons utiliser PHPtraitDTO (DataTransfer

PHP trait DTO : un outil clé pour optimiser le processus de transfert de données PHP trait DTO : un outil clé pour optimiser le processus de transfert de données Oct 12, 2023 pm 03:10 PM

PHPtraitDTO : Un outil clé pour optimiser le processus de transmission de données, des exemples de code spécifiques sont nécessaires Introduction : Au cours du processus de développement, la transmission de données est une exigence très courante, en particulier lorsque les données sont transférées entre différents niveaux. Lors du processus de transmission de ces données, nous devons souvent traiter, vérifier ou convertir les données pour répondre aux différents besoins de l'entreprise. Afin d'améliorer la lisibilité et la maintenabilité du code, nous pouvons utiliser PHPtraitDTO (DataTransferObject) pour optimiser

Utilisation de RxJava pour le traitement asynchrone dans le développement d'API Java Utilisation de RxJava pour le traitement asynchrone dans le développement d'API Java Jun 18, 2023 pm 06:40 PM

Java est un langage de programmation très populaire, particulièrement utilisé dans les applications Web et les applications mobiles. Lorsqu'ils sont confrontés à des exigences complexes de développement d'applications multithread, les développeurs rencontrent généralement de nombreux problèmes. RxJava est une bibliothèque très puissante qui fournit des modèles de programmation asynchrones et basés sur des événements basés sur le modèle d'observateur. Cet article explique comment utiliser RxJava pour le traitement asynchrone dans le développement JavaAPI. 1. Qu'est-ce que RxJava ? RxJava est une bibliothèque basée sur le modèle d'observateur

Développement Java?: Comment utiliser RxJava pour la programmation réactive Développement Java?: Comment utiliser RxJava pour la programmation réactive Sep 22, 2023 am 08:49 AM

Développement Java?: comment utiliser RxJava pour la programmation réactive, des exemples de code spécifiques sont nécessaires. Introduction?: Avec les besoins croissants du développement de logiciels modernes, les méthodes de programmation traditionnelles ne peuvent plus répondre aux exigences de haute concurrence, de traitement asynchrone et de caractéristiques basées sur les événements. Afin de résoudre ces problèmes, la programmation réactive a vu le jour. En tant que puissante bibliothèque de programmation réactive, RxJava fournit des opérateurs riches et des méthodes de traitement asynchrone flexibles, ce qui améliore considérablement l'efficacité du développement et l'évolutivité des applications. Cet article explique comment utiliser RxJava pour

Pratique des fonctions de contr?le de périphériques et de transmission de données du C++ dans le développement de systèmes embarqués Pratique des fonctions de contr?le de périphériques et de transmission de données du C++ dans le développement de systèmes embarqués Aug 25, 2023 pm 07:10 PM

Introduction à la pratique des fonctions de contr?le des périphériques et de transmission de données du C++ dans le développement de systèmes embarqués : En tant que technologie avec un large éventail d'applications, les systèmes embarqués sont largement utilisés dans de nombreux domaines, tels que l'automobile, les appareils électroménagers, les équipements médicaux, etc. Dans le développement de systèmes embarqués, le contr?le des périphériques et la transmission de données constituent une fonction très importante. Cet article présentera comment utiliser le langage C++ pour implémenter les fonctions de contr?le et de transmission de données des périphériques et fournira des exemples de code pratiques. 1. Pratique de la fonction de contr?le des périphériques C++ Dans les systèmes embarqués, le contr?le des périphériques fait référence à la

See all articles