Maison > développement back-end > C++ > Comment trouver efficacement l'objet avec la valeur de propriété maximale dans une collection?

Comment trouver efficacement l'objet avec la valeur de propriété maximale dans une collection?

DDD
Libérer: 2025-01-25 20:41:10
original
981 Les gens l'ont consulté

How to Efficiently Find the Object with the Maximum Property Value in a Collection?

Trouver l'objet avec la valeur de propriété la plus élevée dans une collection

Une tâche de programmation fréquente consiste à localiser l'objet dans une collection qui contient la valeur maximale ou minimale pour une propriété particulière. Imaginez une liste d'objets, chacun possédant les propriétés "Hauteur" et "Largeur" ​​(entiers). L'objectif est d'identifier et de restituer l'objet ayant la plus grande valeur "Hauteur".

L'approche LINQ

LINQ (Language Integrated Query) offre une solution élégante. Le code suivant le démontre :

<code class="language-csharp">using System.Linq;

var items = new List<DimensionPair> {
    // Initialize your list of DimensionPair objects
};

var tallestItem = items.MaxBy(item => item.Height);</code>
Copier après la connexion

Explication

MaxBy, une méthode d'extension (disponible dans MoreLINQ), identifie efficacement l'objet avec la valeur de propriété la plus élevée. Il parcourt la collection, en suivant l'objet avec la valeur maximale actuelle. L'expression lambda item => item.Height ordonne à MaxBy d'utiliser la propriété Height à des fins de comparaison.

Méthodes alternatives

D'autres approches existent :

  1. Tri et sélection : Triez la collection par hauteur par ordre décroissant et sélectionnez le premier élément.
  2. Fonction d'agrégation : Utilisez la méthode Aggregate avec une fonction d'accumulation maximale personnalisée pour trouver la hauteur maximale, puis localisez l'objet correspondant.

Cependant, MaxBy est généralement préféré pour son efficacité et sa lisibilité, ce qui en fait le choix idéal pour ce type de problème. Cela simplifie la récupération de l'objet avec la valeur maximale pour une propriété donnée au sein d'une collection.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal