Fondamentaux de C# - Collections (ArrayList, Liste, Dictionnaire et autres)
Comparateurs
(1) Array.Sort() ; Pour un tri personnalisé, il faut transmettre un comparateur, on peut passer une expression Lambda come comparateur
Array.Sort(nombres,(a,b)=>b-a);//second moins premier : ordre décroissant
Array.Sort(personnes,(a,b)=>a.Age-b.Age);//premier moins second : ordre croissant
(2) IComparer Interface fournie ...
Publié le 22 août à 19h07
Ensemble et manipulation avancée des collections en Java
Utilisation des outils de gestion des collections
La classe Collections fournit des méthodes statiques pour manipuler les collections. Elle est conçue avec un constructeur privé, garantissant qu'elle ne peut pas être instanciée. Toutes ses méthodes sont statiques, accessibles directement via le nom de la classe.
addAll(Collection<? super T& ...
Publié le 21 août à 05h33
Comprendre les Génériques en Java
L'objectif principal est de restreindre une collection ou une structure à un type précis, offrant ainsi une vérification de type dès la compilation plutôt qu'à l'exécution. À noter que les méthodes statiques d'une classe générique ne peuvent exploiter les paramètres de type déclarés au niveau de la classe elle-même.
Héritage et classes génériqu ...
Publié le 31 juillet à 02h42
Opérations avancées sur les collections Java avec Stream API : déduplication par attribut et création de nouvelles listes
Pour dédoublonnner une collection d'objets en fonction d'un attribut spécifique et générer une nouvelle liste unique en Java, la combinaison des méthodes Collectors.collectingAndThen et toCollection offre une solution élégante. Voici un exemple concret utilisant une classe Employe avec les propriétés identifiant et nom.
package exemples.stream ...
Publié le 25 juillet à 14h32
Questions techniques avancées pour entretiens Java
1. Les méthodes fondamentales de la classe Object
La classe racine Object en Java fournit un ensemble de méthodes essentielles :
protected Object clone() — Produit une copie indépendante de l'instance courante.
equals(Object obj) — Détermine si deux instances sont logiquement équivalentes.
protected void finalize() — Invoqué par le ramasse-mie ...
Publié le 22 juillet à 15h10
Optimisation du code Kotlin : Collections immuables et fonctions d'ordre supérieur
L'un des principes fondamentaux pour écrire un code robuste en Kotlin consiste à privilégier l'immuabilité. En utilisant systématiquement val au lieu de var, on s'assure que les références ne changent pas, ce qui réduit considérablement les effets de bord et facilite le débogage, notamment dans les environnements multi-threadés.
Privilégier les ...
Publié le 22 juillet à 12h50
Fonctions essentielles de l'API Stream en Java
0. Exemple de classe et de données
class Etudiant {
private int echecs;
private String nom;
private String profChinois;
private String profPrincipal;
public Etudiant(int echecs, String nom, String profChinois, String profPrincipal) {
this.echecs = echecs;
this.nom = nom;
this.profChinois = profChino ...
Publié le 21 juillet à 19h45
API de Flux Java 8 : Une Nouvelle Approche pour la Manipulation des Collections
Introduction aux Flux et aux Collections en Java
Java 8 a introduit l'API Stream, révolutionnant la manière dont nous traitons les collections. Les flux offrent une approche déclarative et fonctionnelle, simplifiant considérablement les opérations de manipulation et de transformation des données.
Fusion des Collections et des Flux
Un flux (Stre ...
Publié le 20 juillet à 20h22
Optimisation des performances en Java
Techniques d'optimisation du code Java
Constantes et Variables
1.1. Assignation directe des valeurs littérales
L'assignation directe d'une valeur littérale crée une référence vers une instance partagée, évitant ainsi des allocations inutiles.
Contre-exemple :
// Création superflue d'objets
Long identifiant = new Long(100L);
Texte chaine = ne ...
Publié le 10 juillet à 20h52
Meilleures pratiques et précautions en C# pour Unity
1, 2025-02-08
Lors de la déclaration de collections, il est déconseillé de les chaîner. Par exemple :
positionsList = rotationsList = new List<float>();
Cette approche est problématique car les collections sont implémentées comme des listes chaînées, ce qui entraîne une fusion des données lors de l'ajout d'éléments.
La syntaxe correcte ...
Publié le 9 juillet à 18h43