# Class ComparateurEntreeCanonique

java.lang.Object
fr.iutfbleau.sae.mpif.ComparateurEntreeCanonique

All Implemented Interfaces:
  `Comparator<Map.Entry<Integer,Integer>>`

public class ComparateurEntreeCanonique extends Object implements Comparator<Map.Entry<Integer,Integer>>
Comparateur utilisé pendant la reconstruction des codes canoniques. Il permet de trier les paires (symbole, longueur) dans le bon ordre avant de générer les codes binaires. Le tri se fait en deux étapes : - d'abord par la longueur du code (ordre croissant) - si deux longueurs sont identiques, on trie par le symbole lui-même Ce comparateur est utilisé dans la méthode rebuildCanonical du PIFReader.

## Constructor Summary

Constructors
Constructor
Description
`ComparateurEntreeCanonique()`

## Method Summary

Modifier and Type
Method
Description
`int`
`compare(Map.Entry<Integer,Integer> entree1, Map.Entry<Integer,Integer> entree2)`
Compare deux entrées contenant chacune un symbole et sa longueur de code.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.util.Comparator

`equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong`

## Constructor Details

### ComparateurEntreeCanonique

public ComparateurEntreeCanonique()

## Method Details

### compare

public int compare(Map.Entry<Integer,Integer> entree1, Map.Entry<Integer,Integer> entree2)
Compare deux entrées contenant chacune un symbole et sa longueur de code. Le but est de les classer dans l'ordre nécessaire pour produire les codes canoniques dans l'ordre standard.

Specified by:
  `compare` in interface `Comparator<Map.Entry<Integer,Integer>>`
Parameters:
  `entree1` - première paire (symbole, longueur)
  `entree2` - deuxième paire (symbole, longueur)
Returns:
  un entier indiquant si la première entrée doit être placée avant, au même niveau ou après la seconde