5.FreshMinutes.IT – Java & IT

5 minutes pour consolider ses connaissances en Java et dans les Nouvelles Technos.
  • Accueil
  • À propos
  • Contact, Twitter, Tumblr & Buzz

Trouver un élément proche parmi plusieurs éléments

Eric Vialle | Vendredi 13 novembre 2009 | 8:27


sherlock-holmes Nous allons poser un problème simple de la vie de tous les jours pour expliquer ce problème technique. Prenez votre horaire de métro et  trouvez le métro qui part avant 8H30 et celui qui part après 16H30.

Pour faire cela en Java, nous allons utiliser une Collection de type Tree (TreeMap ou TreeSet). Nous verrons deux façons de résoudre ce problème, selon que l’on utilise Java 5 ou bien Java 6.

Établir nos horaires dans une structure de données

  1. /**
  2. * On represente nos horaires sous la forme d'un arbre contenant des les
  3. * horaires. Les horaires sont représentés sous la forme d'entiers.
  4. * 16H00 sera représenté par 1600.
  5. */
  6. TreeSet horaires = new TreeSet();
  7. horaires.add(800);  //8H00
  8. horaires.add(820);  //8H20
  9. horaires.add(1020); //10H20
  10. horaires.add(1100); //11H00
  11. horaires.add(1410); //14H10
  12. horaires.add(1525); //15H20
  13. horaires.add(1635); //16H35
  14. horaires.add(1705); //17H05
  15. horaires.add(1800); //18H00

Trouver nos horaires en Java 5

En Java 5, il faut ruser!

  1. /* Horaires avant 8H30 en Java 5 */
  2. TreeSet subSetHoraires8H30 = (TreeSet) horaires.headSet(830);
  3. Integer horaireAvant8h30 = subSetHoraires8H30.last();
  4.  
  5. /* Horaires aprés 16H30 en Java 5 */
  6. TreeSet subSetHorairesApres16h30  = (TreeSet) horaires.headSet(1630);
  7. Integer horaireApres16h30 = subSetHorairesApres16h30 .first();

Trouver nos horaires en Java 6

En Java 6, c’est beaucoup plus simple!

  1. /* Horaires avant 8H30 en Java 6 */
  2. Integer horaireAvant8h30 = horaires.lower(830);
  3.  
  4. /* Horaires aprés 16H30 en Java 6 */
  5. Integer horaireApres16h30 = horaires .higher(1630);

Complément: Approfondir ses Connaissances sur les Collections


Catégories
Dévelopement Tips, Java
Tags
Java, TreeMap, TreeSet
Flux rss des commentaires
Flux rss des commentaires
Trackback
Trackback

« Comment Google SPDY va accelerer le Web? Rediriger le port 8080 de Tomcat vers le port 80 d’Apache 2 avec un sous-domaine »

Leave a Reply

Cliquez ici pour annuler la réponse.

Articles récents

  • Push & communications asynchrones sur iOS (iPhone/iPad)
  • Optimiser le temps de chargement pour le web mobile avec iPhone, jQTouch, Struts 2 et Tomcat
  • La philosophie du Domain Driven Design User Group et l’état des lieux * Users Group en Février 2010
  • Introduction au NoSQL (et de Redis) ou le compte rendu du NoSQL User Group Paris de Février 2010
  • Gérer le Cache-Control HTTP dans une application Web Java EE avec Tomcat
  • Compiler son code? “It’s so 2000s” ou un apercu de Play et JRebel
  • Le blog change d’adresse
  • Le Paris JUG a fêté ses 2 ans: compte-rendu

Navigation

  • Actualités Flux pour tous les articles classés dans Actualités
  • Architecture IT Flux pour tous les articles classés dans Architecture IT
  • Base de données Flux pour tous les articles classés dans Base de données
  • Java Flux pour tous les articles classés dans Java
    • Dévelopement Tips Flux pour tous les articles classés dans Dévelopement Tips
    • EDI Flux pour tous les articles classés dans EDI
    • J2ME Flux pour tous les articles classés dans J2ME
    • J2SE Flux pour tous les articles classés dans J2SE
    • Java EE Flux pour tous les articles classés dans Java EE
    • Tutoriel Flux pour tous les articles classés dans Tutoriel
  • Non classé Flux pour tous les articles classés dans Non classé
  • NoSQL Flux pour tous les articles classés dans NoSQL

Promo

Mots Clefs

adobe apache application web Base de données benchmark bugs c# checkstyle dérivation eclipse find bugs findbugs flex framework play google gzip http iPhone jar Java Java User Group java web start JVM microsoft mysql object objet open source optimisation oracle performance plugin pmd polymorphisme qualité recrutement rich internet application serveur silverlight struts struts 2 sun test Tomcat web

WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.

Twitter

  • J'ai testé OnLive Games sur mon Mac en Wifi: vraiment impressionnant que les possibilités du cloud gaming 2011-01-17
  • More updates...

Livres Pour Aller Plus Loin…

Blogoliste

  • Berthou.com
  • Le blog de hugu
  • PHP – Le Blog de Fatiha
  • techno.blog(java4it)
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
rss Flux rss des commentaires valid xhtml 1.1 design by jide powered by Wordpress get firefox