


Programme Java pour rechercher un objet défini par l'utilisateur dans une liste à l'aide d'un comparateur de recherche binaire
Interface de comparaison Java pour trier les objets Java. Les classes de comparaison en Java comparent différents objets (Obj 01, Obj 02) en appelant "java.util.comparator". Dans cette méthode, les objets peuvent être comparés en fonction de la valeur de retour. La comparaison peut être positive, égale ou négative.
Le processus offre aux utilisateurs plusieurs séquences de tri. Il existe de nombreuses façons de comparer les deux méthodes.
public int compare class (obj 1, obj 2) - Effectue une comparaison entre deux objets.
public Boolean equals (obj) - Compare l'objet actuel avec l'objet spécifié.
Java Collection Class - Fournit des méthodes statiques pour trier les éléments d'une collection de données. Cet élément de collection est utilisé dans TreeMap.
Discutons de la façon de créer un code Java à l'aide de comparateurs pour rechercher un objet défini par l'utilisateur dans une liste via une recherche binaire.
Paramètres de recherche binaire et leurs composants
Paramètres
est un tableau spécifique
fromindex - le premier élément à rechercher
toindex - le dernier élément à rechercher key - la valeur à rechercher Paires clé-valeur à rechercher
Comparateur
Retour
Renvoie l'index de la clé de recherche qui existe dans la plage spécifiée.
Exceptions
ClassCast
Paramètres illégaux
ArrayIndexOutOfBounds
Algorithme
Première étape : commencez.
Étape 2 - Calcul de l'ensemble d'éléments intermédiaires.
Étape 3 - Comparez le mot-clé à l'élément du milieu.
Étape 4 - Si les valeurs des éléments clés et intermédiaires sont les mêmes ; renvoyez le résultat.
Étape 5 - Sinon, la valeur de la clé est supérieure à l'élément du milieu, suivez alors la moitié droite de l'ensemble
Étape 6 - Ou ; si la valeur de la clé est inférieure à l'élément médian, suivez le supérieur
Recherche binaire à l'aide d'un comparateur - syntaxe
public static int binarySearch(primitive() p,Primitive key) public static int binarySearch(Object() o,Object key) public static int binarySearch(Object() o,Object key,Comparator c) Java Collections binarySearch(List<? extends Comparable1<? super R>> list, R key)and; Java Collections binarySearch(List<? extends R> list, R key, Comparator<? super R> c)
Il existe deux syntaxes bien connues pour rechercher des objets définis par l'utilisateur dans des listes via une recherche binaire à l'aide de comparateurs. Dans le premier cas, la liste doit être triée par ordre croissant et la procédure est appelée à l'aide d'une méthode spécifique, où le résultat est indéfini.
En revanche, pour rechercher un objet spécifié, il est important d'appeler la méthode.
Comment suivre
Méthode 1 pour rechercher des objets définis par l'utilisateur dans une liste à l'aide d'un chercheur et d'un comparateur binaires
Recherchez des objets définis par l'utilisateur dans des listes à l'aide de comparateurs
Dans ces exemples, nous utilisons des collections, des opérations de classe binaireSearch() et de comparaison pour trier certaines données définies par l'utilisateur à l'aide d'opérations de recherche binaire via un comparateur
Exemple 1 : utilisez Collections, BinarySearch() pour rechercher des données dans une liste
import java.util.*; public class Binarysearch { public static void main(String[] args){ List<Domain> l1 = new ArrayList<Domain>(); l1.add(new Domain(100, "India")); l1.add(new Domain(200, "Bangladesh")); l1.add(new Domain(300, "Dhaka")); l1.add(new Domain(400, "Kolkata")); Comparator<Domain> c = new Comparator<Domain>() { public int compare(Domain u1, Domain u2) { return u1.getId().compareTo(u2.getId()); } }; int index = Collections.binarySearch( l1, new Domain(10, null), c); System.out.println("Found at index number zone" + index); index = Collections.binarySearch(l1, new Domain(6, null), c); System.out.println(index); } } class Domain { private int id; private String url; public Domain(int id, String url){ this.id = id; this.url = url; } public Integer getId() { return Integer.valueOf(id); } }
Sortie
Found at index number zone-1 -1
Exemple 2 : Trier la liste par ordre croissant
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class ascendingsearch { public static void main(String[] args){ List<Integer> ak = new ArrayList<integer>(); ak.add(100); ak.add(200); ak.add(30); ak.add(10); ak.add(20); int index = Collections.binarySearch(ak, 100); System.out.println(index); index = Collections.binarySearch(ak, 130); System.out.println(index); } } </integer>
Sortie
Note: ascendingsearch.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. -6 -6
Exemple 3 : Triez la liste par ordre décroissant et trouvez le numéro d'index
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class binsearchdecend { public static void main(String[] args){ List<Integer> a0710 = new ArrayList<Integer>(); a0710.add(1000); a0710.add(500); a0710.add(300); a0710.add(10); a0710.add(2); int index = Collections.binarySearch( a0710, 50, Collections.reverseOrder()); System.out.println("Found at index number present " + index); } }
Sortie
Found at index number present -4
Exemple 4 : Trouver le nombre d'éléments et de valeurs
import java.util.Scanner; public class BinarySearchExample{ public static void main(String args[]){ int counter, num, item, array[], first, last, middle; Scanner input = new Scanner(System.in); System.out.println("Enter number of elements:"); num = input.nextInt(); array = new int[num]; System.out.println("Enter " + num + " integers"); for (counter = 0; counter < num; counter++) array[counter] = input.nextInt(); System.out.println("Enter the search value:"); item = input.nextInt(); first = 0; last = num - 1; middle = (first + last)/2; while( first <= last ){ if ( array[middle] < item ) first = middle + 1; else if ( array[middle] == item ){ System.out.println(item + " found at location " + (middle + 1) + "."); break; } else{ last = middle - 1; } middle = (first + last)/2; } if ( first > last ) System.out.println(item + " is not found.\n"); } }
Sortie
Enter number of elements: 7 Enter 7 integers 10 12 56 42 48 99 100 Enter the search value: 50 50 is not found.
Conclusion
Dans cet article, nous avons découvert l'interface comparable en Java avec quelques exemples de code et d'algorithmes. Ici, nous déclarons certaines classes et interfaces de comparaison définies par l'utilisateur. Ils répondent à des objectifs spécifiques et permettent de traiter des données spécifiques dans un environnement Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Cet article utilise différentes approches pour sélectionner les commandes insérées dans la fenêtre de commande ouverte via le code Java. La fenêtre de commande est ouverte en utilisant « cmd ». Ici, les méthodes pour faire la même chose sont spécifiées à l’aide du code Java. La fenêtre de commande est d’abord ouverte à l’aide du programme Java.

Veuillez consulter le tableau ci-dessous pour connaître les critères d'éligibilité des différentes entreprises - La traduction chinoise de CGPA est : GPA supérieur ou égal à 8 entreprises éligibles Google, Microsoft, Amazon, Dell, Intel, Wipro supérieur ou égal à 7 points de didacticiel, Accenture, Infosys, Emicon, Rellins supérieur ou égal à 6rtCamp, Cybertech, Skybags, Killer, Raymond supérieur ou égal à 5Patronics, Shoes, NoBrokers Entrons dans le programme Java pour vérifier l'éligibilité des étudiants tpp à un entretien. Méthode 1 : Utilisation de la condition ifelseif Normalement, lorsque nous devons vérifier plusieurs conditions, nous utilisons

La taille d'un fichier est la quantité d'espace de stockage qu'un fichier spécifique occupe sur un périphérique de stockage spécifique, tel qu'un disque dur. La taille d'un fichier est mesurée en octets. Dans cette section, nous verrons comment implémenter un programme Java pour obtenir la taille d'un fichier donné en octets, kilo-octets et mégaoctets. Un octet est la plus petite unité d'information numérique. Un octet équivaut à huit bits. Un kilo-octet (Ko) = 1 024 octets, un mégaoctet (Mo) = 1 024 Ko, un gigaoctet (Go) = 1 024 Mo et un téraoctet (To) = 1 024 Go. La taille d'un fichier dépend généralement du type de fichier et de la quantité de données qu'il contient. En prenant un document texte comme exemple, la taille du fichier peut n'être que de quelques kilo-octets, tandis qu'un fichier image ou vidéo haute résolution peut être

L'héritage est un concept qui nous permet d'accéder aux propriétés et au comportement d'une classe à partir d'une autre classe. La classe qui hérite des méthodes et des variables membres est appelée une superclasse ou classe parent, et la classe qui hérite de ces méthodes et variables membres est appelée une sous-classe ou une sous-classe. En Java, nous utilisons le mot-clé "extends" pour hériter d'une classe. Dans cet article, nous discuterons d'un programme Java permettant de calculer les intérêts sur les dépôts à terme et les dépôts à terme en utilisant l'héritage. Tout d'abord, créez ces quatre fichiers Java - Acnt.java - dans l'IDE de votre machine locale. Ce fichier contiendra une classe abstraite « Acnt » qui est utilisée pour stocker les détails du compte tels que le taux d'intérêt et le montant. Il aura également une méthode abstraite 'calcIntrst' avec le paramètre 'amnt' pour calculer

Le langage Java est aujourd’hui l’un des langages de programmation orientés objet les plus utilisés dans le monde. Le concept de classes est l’une des caractéristiques les plus importantes des langages orientés objet. Une classe est comme un modèle pour un objet. Par exemple, lorsque nous voulons construire une maison, nous créons d’abord un plan de la maison, en d’autres termes, nous créons un plan qui montre comment nous allons construire la maison. Selon ce plan, nous pouvons construire de nombreuses maisons. De même, en utilisant des classes, nous pouvons créer de nombreux objets. Les classes sont des plans pour créer de nombreux objets, où les objets sont des entités du monde réel telles que des voitures, des vélos, des stylos, etc. Une classe possède les caractéristiques de tous les objets, et les objets ont les valeurs de ces caractéristiques. Dans cet article, nous allons écrire un programme Java pour trouver le périmètre et les faces d'un rectangle en utilisant le concept de classes

Chiffres romains – Basés sur l’ancien système romain qui utilise des symboles pour représenter les nombres. Ces nombres sont appelés chiffres romains. Les symboles sont I, V, X, L, C, D et M, qui représentent respectivement 1, 5, 10, 50, 100, 500 et 1 000. Entiers - Un entier est un entier composé de valeurs positives, négatives et nulles. Les fractions ne sont pas des nombres entiers. Ici, nous définissons la valeur du symbole en fonction de la valeur entière. Chaque fois qu'un chiffre romain est donné en entrée, nous le divisons en unités, puis calculons le chiffre romain approprié. I-1II–2III–3IV–4V–5VI–6…X–10XI–11..XV-15 Dans cet article, nous apprendrons comment convertir des chiffres romains en nombres entiers en Java. Montrez quelques exemples - Exemple 1InputR

Un fichier image peut être tourné dans le sens des aiguilles d’une montre ou dans le sens inverse. Pour faire pivoter une image, vous devez télécharger un fichier image aléatoire et l'enregistrer dans n'importe quel dossier de votre système. En outre, un fichier .pdf est requis et après avoir ouvert le fichier image téléchargé, un certain angle peut être pivoté dans ce fichier .pdf particulier. Pour une rotation de 90 degrés, les points d'ancrage de la nouvelle image peuvent nous aider à effectuer la rotation à l'aide de la transformation de traduction en Java. Le point d'ancrage est le centre de toute image particulière. Algorithme pour faire pivoter une image à l'aide de Java La classe "Affine Transform Op" est le moyen le plus simple de faire pivoter une image.

Si quelqu'un souhaite acquérir une base solide en langage de programmation Java. Ensuite, il faut comprendre comment fonctionne la boucle. De plus, résoudre les problèmes de modèle pyramidal est le meilleur moyen d’améliorer vos connaissances de base de Java, car cela inclut une utilisation intensive des boucles for et while. Cet article vise à fournir quelques programmes Java pour imprimer des modèles pyramidaux à l'aide de différents types de boucles disponibles en Java. Programme Java pour créer un motif de pyramide Nous imprimerons les modèles de pyramide suivants via le programme Java - Pyramide en étoiles inversée Pyramide en étoiles Pyramide des nombres Discutons-en un par un. Mode 1 : La méthode de la pyramide en étoiles inversée déclare et initialise un entier « n » avec le nombre de lignes spécifié. Ensuite, définissez le décompte initial de l'espace comme 0 et le décompte initial de l'étoile comme "n+
