java.net member

Rechercher dans ce site

JavaFX Langage : Les séquences

>> 11 February 2009

Les séquences (sequence) sont un type de JavaFX

  • Ce sont des listes ordonnées d'objets, elles sont comme les tableaux d'objets ou array dans Java avec nettement plus de fonctionnalités.

  • Les éléments de séquences peuvent être des chaînes de caractères, des integers, classes, etc.

  • Les éléments de séquences sont mis entre deux crochets droits [ et ] , séparés par une virgule. Attention de ne pas mettre des espaces entre les virgules et les objets.

  • La nature des séquences est soit déduit automatiquement, soit déclarée explicitement :

//chaînes
var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];

var jour: String[]=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim "] ;

//Integers

var chiffres=[1,2,3,4,5];
var chiffres2:Integer[]=[1,2,3,4,5];

  • Pour les séquences présentant une série arithmétique, la déclaration est très facilitée par la mise de deux points ".." entre le seuil inférieur et supérieur :

var chiffres=[1..100]

  • Pour accéder à un élément d'une séquence il suffit d'indiquer son index dans la séquence :

println(jours[0]); // Lun

  • Des séquences (Sequence) supportent des opérations très complexes sur leurs contenus.


Exemple Chaînes de caractères 1

/**
* @author ka
*/

var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];

println("jours = {jours.toString()}");



Exemple
Chaînes de caractères 2

/*
* test.fx
*
* Created on Feb 8, 2009, 8:10:15 PM
*/

package javafxapplication3;

/**
* @author ka
*/

var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];

afficheChaines("jours",jours);

var jours2:String[]=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];

afficheChaines("jours2",jours2);


function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}



Exemple Integers

/*
* test.fx
*
* Created on Feb 8, 2009, 8:10:15 PM
*/

package javafxapplication3;

/**
* @author ka
*/

var chiffres=[1,2,3,4,5];
var chiffres2:Integer[]=[1,2,3,4,5];

afficheChiffres("séquence chiffres",chiffres);
afficheChiffres("séquence chiffres",chiffres2);

function afficheChiffres(description:String, sequence_de_chiffres: Integer[]){
println("----{description}");
for (n in sequence_de_chiffres) {
print("{n} ")
}
println("");
}

Step

/**
* @author ka
*/


var range1 = [0..100 step 10]; //pas de 10 croissant
var range2 = [10..0 step -1]; //-1 décroissant
var range3 = [0.0 .. 1.0 step 0.25]; //0.25
println("range1 = {range1.toString()}");
println("range2 = {range2.toString()}");
println("range3 = {range3.toString()}");



Déclarer une séquence comme une partie d'une autre

package javafxapplication3;

/**
* @author ka
*/


var joursSemaine=["Lun","Mar","Mer","Jeu","Ven"];

afficheChaines("jours de la semaine",joursSemaine);

var weekEnd:String[]=["Sam","Dim"];

afficheChaines("Week end",weekEnd);

var jours=[joursSemaine,weekEnd];
afficheChaines("jours",jours);


var jours2=[joursSemaine,["Sam","Dim"]];
afficheChaines("jours2",jours2);


function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}


Sequence Slices = portions d'une séquence

Avec cette technique, il est possible d'obtenir des portions de séquences

seq[elem1..elem2] Les élément entre elem1 et elem2

var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
var weekEnd=jours[5..6];

seq[elem1..

var jourOuvres=jours[0..<5];

seq[elem1..] Tous les élément à partir de " elem1 "

var weekEnd2=jours[5..];

seq[elem1..<] Tous les élément à partir de " elem1 ", sauf le dernier élément

var joursSansDim=jours[0..<];
package javafxapplication3;


/**
* @author ka
*/

var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];

afficheChaines("jours de la semaine",jours);

var weekEnd=jours[5..6];

afficheChaines("Week end",weekEnd);

var jourOuvres=jours[0..<5];

afficheChaines("Jours ouvrés",jourOuvres);

var weekEnd2=jours[5..];
afficheChaines("Week end 2",weekEnd2);

var joursSansDim=jours[0..<];
afficheChaines("Semaine sans dimanche",joursSansDim);


function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}



Obtenir une partie d'une séquence avec condition (Predicate)
Il est possible d'obtenir une partie d'une séquence avec une condition et déclarer une nouvelle séquence avec cette partie

package javafxapplication3;

/**
* @author ka
*/

var seq1=[1..6];

//mets dans seq2, tous les éléments de seq1 dont la valeur est moins que trois
var seq2=seq1[n|n<3]; //variable et condition

afficherChiffres("seq1",seq1);
afficherChiffres("seq2",seq2);


function afficherChiffres(description:String, num_sequence: Integer[]){
println("----{description}");
for (n in num_sequence) {
print("{n} ")
}
println("");
}




Predicate 2

/**
* @author ka
*/

var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];
var joursAvecM=jours[s|s.startsWith("M")];
println("Jours qui commence avec M = {joursAvecM.toString()}");




sizeof
Pour obtenir la taille d'une séquence

package javafxapplication3;

/**
* @author ka
*/

var jours=["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"];

println(sizeof jours);

println("Jour de la semaine = {sizeof(jours)}");



Comparer des séquences

var jours1=["Lun","Mar","Mer","Jeu","Ven"];
afficheChaines("jours1",jours1);

var jours2=["Lun","Mar","Mer","Jeu","Ven"];
afficheChaines("jours2",jours2);

println("Les séquences jours1 et jours2 sont équivalent -> {jours1==jours2}");
print("jours1==jours2 -> ");
println(jours1==jours2);

function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}



Insert
Permet d'insérer un élémént A la fin de la séquence
Ou en un endroit donné


package javafxapplication3;

/**
* @author ka
*/

var chiffres=[1,2,3,4,5];

afficheChiffres("séquence chiffres",chiffres);

insert 6 into chiffres;

afficheChiffres("séquence chiffres après insert 6",chiffres);

insert 7 after chiffres[2];

afficheChiffres("séquence chiffres insert 7 après le 2ème element",chiffres);

insert 7 before chiffres[3];

afficheChiffres("séquence chiffres insert 7 avant le 3ème element",chiffres);

function afficheChiffres(description:String, sequence_de_chiffres: Integer[]){
println("----{description}");
for (n in sequence_de_chiffres) {
print("{n} ")
}
println("");
}



Delete pour supprimer un élément/éléments

package javafxapplication3;



/**
* @author ka
*/

var joursSemaine=["Lun","Mar","Mer","Jeu","Ven"];
afficheChaines("jours de la semaine",joursSemaine);

delete "Lun" from joursSemaine;
afficheChaines("jours de la semaine moins Lun",joursSemaine);

//autre delete, supprime Mar
delete joursSemaine[0];
afficheChaines("jours de la semaine moins Lun et Mar",joursSemaine);

joursSemaine=["Lun","Mar","Mer","Jeu","Ven"];
delete joursSemaine[0..2];
afficheChaines("delete avec slicing",joursSemaine);

//supprimer tous les éléments
delete joursSemaine;
afficheChaines("Séquence sans élément",joursSemaine);

function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}



reverse mettre les séquences à l'inverse

package javafxapplication3;

/**
* @author ka
*/

var joursSemaine=["Lun","Mar","Mer","Jeu","Ven"];
afficheChaines("jours de la semaine",joursSemaine);

var joursInverses=reverse joursSemaine;
afficheChaines("joursInversés",joursInverses);

var chiffres=[1..10];
var chiffresInverses=reverse chiffres;
afficheChiffres("chiffres ordre inversée",chiffresInverses);


function afficheChaines(description:String, sequence_de_chaines: String[]){
println("----{description}");
for (s in sequence_de_chaines) {
print("{s} ")
}
println("");
}

function afficheChiffres(description:String, sequence_de_chiffres: Integer[]){
println("----{description}");
for (n in sequence_de_chiffres) {
print("{n} ")
}
println("");
}

0 comments:

Post a Comment

  © Blogger template Simple n' Sweet by Ourblogtemplates.com 2009

Back to TOP