package Exercice4;

import java.util.LinkedList;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;

public class SortedHashMap{

	private TreeMap<Double, LinkedList<Voiture>> voitures;

	public SortedHashMap() {
		this.voitures = new TreeMap<Double,LinkedList<Voiture>>();
	}

	public void put(Voiture v) {
		if(voitures.containsKey(v.getPrix())) {
			LinkedList<Voiture> l = voitures.get(v.getPrix());
			l.push(v);
		}
		else {
			LinkedList<Voiture> l = new LinkedList<Voiture>();
			l.push(v);
			voitures.put(v.getPrix(), l);
		}
	}
	
	public LinkedList<Voiture> getMin() {
		return voitures.floorEntry((double) 0).getValue();
	}
	
	public void removeMin() {
		voitures.remove(voitures.floorEntry((double) 0).getValue().get(0).getPrix());
	}
	
	public String toString() {
		StringBuilder sb = new StringBuilder();
		
		Set<Entry<Double,LinkedList<Voiture>>> s = voitures.entrySet();
		for(Entry<Double,LinkedList<Voiture>> e:s) {
			LinkedList<Voiture> l = e.getValue();
			for(Voiture v:l) {
				sb.append(v);
			}
		}
		
		return sb.toString();
	}
	
}
