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 -
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
--
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
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
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
"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
Oui c'est possible. Mais il ne faut pas.
http://www.javapractices.com/topic/TopicAction.do?Id=71
Question = Réponse
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.
https://forums.commentcamarche.net/forum/affich-34647038-quelle-structure-de-donnees-choisir-pour-un-grand-volume#p34648151
des commentaires non utiles.