BitSet

fatmanajjar Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
J'ai un tableau de BitSet.
Je veux déterminer le nombre de 1 par colonne, pour une utilisation ultérieure.


pour créer mon tableau de BitSet j'ai fait ce qui suit:



BitSet F[]=new BitSet[200];

int i=0;
while (i<F.length)
F[i]=new BitSet(100);
i++;


Supposons que mon tableau est plein(c'est mon cas).
je veux déterminer le nombre de 1 par colonne, et le stocker , pour une utilisation ultérieure.



j'ai crée la méthode suivante

static int [] FrequentItem(BitSet[]F)
{

int i=0;
int j=0;
int temp=0;
int []frequence=null;
while (i<F.length && j<F[i].length())
{
if(F[i].get(j)==true)
temp++;
frequence =new int[F[j].length()];
frequence[j]=temp;
}
j++;
i++;
return frequence;


}


maintenant je veux creer un deuxieme BitSet et la remplir suivant la frequence de nombre de 1 dans le premier BitSet.


Est il possible d'utiliser la méthode clone de la classe BitSet ?
Merci d'avance pour vos retour











--

2 réponses

fatmanajjar Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour ,
Je veux rectifier ce que j'ai posté, car la fonction que j'ai publié ne marche pas.

la fonction suivante , permet de calculer la frequence de nombre de 1 par colonne.




static void FrequentItem(BitSet[]tempB)
{
int []t=new int[10];
int temp=0;
for(int i=0;i<tempB.length;i++)
{
tempB[i]=new BitSet(10);
}

System.out.println("Le contenu de la table \n ");
for(int k=0;k<10;k++)
{
for(int n=0;n<tempB.length;n++)

{
if(tempB[n].get(k))
{
temp++;
t[k]=temp;


}


}
temp=0;

System.out.println(t[k]);

}
}//FrequentItem
0
YCN- Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   12
 
Déjà commence par mettre des balises codes... Ensuite on verra. Cela dit ce deuxieme post m'interpelle, si tu n'arrives pas à faire ce genre de choses je suppose que tu n'en es pas à l'optimisation de ton code. Tu devrais commencer par faire quelque chose qui fonctionne et ensuite réfléchir à comment l'améliorer. Je pense que ce sera déjà très bien pour commencer.
0
fatmanajjar > YCN- Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Le deuxième code que j'ai posté fonctionne trés bien, je l'ai testé et avec ça, je veux encore rectifié.

il ya la methode Cardinality() de la classe BitSet qui permet de retourner le nombre de bits = 1

Donc cette méthode fait exactement ce que je cherche.
0
YCN- Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   12
 
0
fatmanajjar > YCN- Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
 
Vous etes sur le forum pour uniquement commenter sans aider malheureusement.
des commentaires non utiles.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention  
 
"Est il possible d'utiliser la méthode clone de la classe BitSet"
Oui c'est possible. Mais il ne faut pas.
http://www.javapractices.com/topic/TopicAction.do?Id=71

Question = Réponse
0