BitSet

fatmanajjar Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 19031 Statut Modérateur -
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

  1. fatmanajjar Messages postés 7 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
    1. YCN- Messages postés 123 Statut Membre 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
      1. fatmanajjar > YCN- Messages postés 123 Statut Membre
         
        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