[] Re: Contrôle d'unicité de s éléments d'un tableau de STRING...

Jacques PIOTROWSKI <[email protected]> Sat, 10 Sep 2011 14:12:24 +0200
Newsgroups gmane.comp.java.netbeans.general.french
Message-ID <[email protected]>
--Apple-Mail-128-194612303
Content-Type: text/plain;
	charset=ISO-8859-1;
	format=flowed;
	delsp=yes
Content-Transfer-Encoding: quoted-printable

Bonjour,

j'ai corrig=E9 ainsi :

     /**
      * METHODE DE CONTROLE D'UNICITE D'UN ELEMENT DANS UN TABLEAU.
      * @param tableau Tableau de cha=EEnes
      * @return unicite (true ou false)
      */
     private boolean controlerUniciteChaine(final String[] tableau) {
         unicite =3D true;
         nbDoublons =3D 0;
         boolean absent;
         if (tableau.length =3D=3D 0) {
             unicite =3D false;
         } else {
             HashSet<String> set =3D new =
HashSet<String>(tableau.length);
             final Set<String> uniqueEntries =3D =20
Collections.synchronizedSet(set);
             for (int i =3D 0; i < tableau.length; i++) {
                 if (tableau[i].length() > 0) {
                     // "add" retourne "true" si ce SET ne contient =20
pas d=E9j=E0 l'=E9l=E9ment sp=E9cifi=E9.
                     absent =3D uniqueEntries.add(tableau[i]);
                     if (!absent) {
                         nbDoublons =3D nbDoublons + 1;
                     }
                 }
             }
         }
         if (nbDoublons > 0) {
             unicite =3D false;
         }
         return unicite;
     }

-------------------------------------------
Le 6 sept. 11 =E0 23:21, Jacques PIOTROWSKI a =E9crit :

> Bonjour,
>
> NetBeans me dit pour cette m=E9thode, avec l'option de compilation "-=20=

> Xlint:unchecked" :
>
> ligne 1012 :
> warning: [unchecked] unchecked conversion
> found   : java.util.HashSet
> required: java.util.Set<T>
>             final Set uniqueEntries =3D =20
> Collections.synchronizedSet(hashSet);
>
> ligne 1016 :
> warning: [unchecked] unchecked call to add(E) as a member of the raw =20=

> type java.util.Set
>                     absent =3D uniqueEntries.add(tableau[i]);
>
> J'ai trouv=E9 ici un d=E9but de r=E9ponse : =
http://www.angelikalanger.com/GenericsFAQ/FAQSections/TechnicalDetails.htm=
l#FAQ007
> Mais je n'ai pas compris comment l'appliquer.
> Je pense qu'il fat plut=F4t =E9crire : Set<String> hashSet =3D new =20
> HashSet<String>(tableau.length);
> Le 1er warning disparait. Mais pour celui sur la m=E9thode "add", je =20=

> bote en touche =3D tableau[i] est bien de type "string"...
> Si quelqu'un a une id=E9e, je suis preneur. Idem s'il y a mieux pour =20=

> ce genre de traitement :)
> Merci d'avance.
>
>
> <Image 1.jpg>


--Apple-Mail-128-194612303
Content-Type: text/html;
	charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<html><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; =
">Bonjour,<div><br></div><div>j'ai corrig=E9 ainsi =
:</div><div><br></div><div><div><font class=3D"Apple-style-span" =
face=3D"'Courier New'">&nbsp; &nbsp; /**</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp;* =
METHODE DE CONTROLE D'UNICITE D'UN ELEMENT DANS UN =
TABLEAU.</font></div><div><font class=3D"Apple-style-span" =
face=3D"'Courier New'">&nbsp; &nbsp; &nbsp;* @param tableau Tableau de =
cha=EEnes</font></div><div><font class=3D"Apple-style-span" =
face=3D"'Courier New'">&nbsp; &nbsp; &nbsp;* @return unicite (true ou =
false)</font></div><div><font class=3D"Apple-style-span" face=3D"'Courier =
New'">&nbsp; &nbsp; &nbsp;*/</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; private =
boolean controlerUniciteChaine(final String[] tableau) =
{</font></div><div><font class=3D"Apple-style-span" face=3D"'Courier =
New'">&nbsp; &nbsp; &nbsp; &nbsp; unicite =3D =
true;</font></div><div><font class=3D"Apple-style-span" face=3D"'Courier =
New'">&nbsp; &nbsp; &nbsp; &nbsp; nbDoublons =3D =
0;</font></div><div><font class=3D"Apple-style-span" face=3D"'Courier =
New'">&nbsp; &nbsp; &nbsp; &nbsp; boolean absent;</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; if (tableau.length =3D=3D 0) {</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; unicite =3D false;</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; } else {</font></div><div><font class=3D"Apple-style-span" =
face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
<b>HashSet&lt;String&gt; set =3D new =
HashSet&lt;String&gt;(tableau.length);</b></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; <b>final Set&lt;String&gt; uniqueEntries =3D =
Collections.synchronizedSet(set);</b></font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; for (int i =3D 0; i &lt; tableau.length; i++) =
{</font></div><div><font class=3D"Apple-style-span" face=3D"'Courier =
New'">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if =
(tableau[i].length() &gt; 0) {</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // "add" retourne =
"true" si ce SET ne contient pas d=E9j=E0 l'=E9l=E9ment =
sp=E9cifi=E9.</font></div><div><font class=3D"Apple-style-span" =
face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; absent =3D =
uniqueEntries.add(tableau[i]);</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (!absent) =
{</font></div><div><font class=3D"Apple-style-span" face=3D"'Courier =
New'">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; nbDoublons =3D nbDoublons + =
1;</font></div><div><font class=3D"Apple-style-span" face=3D"'Courier =
New'">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; }</font></div><div><font class=3D"Apple-style-span" =
face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; }</font></div><div><font class=3D"Apple-style-span" =
face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
}</font></div><div><font class=3D"Apple-style-span" face=3D"'Courier =
New'">&nbsp; &nbsp; &nbsp; &nbsp; }</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; if (nbDoublons &gt; 0) {</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; unicite =3D false;</font></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; =
&nbsp; }</font></div><div><font class=3D"Apple-style-span" =
face=3D"'Courier New'">&nbsp; &nbsp; &nbsp; &nbsp; return =
unicite;</font></div><div><font class=3D"Apple-style-span" =
face=3D"'Courier New'">&nbsp; &nbsp; }</font></div></div><div><font =
class=3D"Apple-style-span" face=3D"'Courier =
New'"><br></font></div><div><font class=3D"Apple-style-span" =
face=3D"'Courier =
New'">-------------------------------------------</font></div><div><div>Le=
 6 sept. 11 =E0 23:21, Jacques PIOTROWSKI a =E9crit :</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; =
"><div>Bonjour,</div><div><br></div>NetBeans me dit pour cette m=E9thode, =
avec l'option de compilation "-Xlint:unchecked" =
:<div><br></div><div>ligne 1012 :</div><div><div>warning: [unchecked] =
unchecked conversion</div><div>found &nbsp; : =
java.util.HashSet</div><div>required: =
java.util.Set&lt;T&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; final Set uniqueEntries =3D =
Collections.synchronizedSet(hashSet);</div><div><br></div><div>ligne =
1016 :</div><div><div>warning: [unchecked] unchecked call to add(E) as a =
member of the raw type java.util.Set</div><div>&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; absent =3D =
uniqueEntries.add(tableau[i]);</div></div><div><br></div><div>J'ai =
trouv=E9 ici un d=E9but de r=E9ponse :&nbsp;<a =
href=3D"http://www.angelikalanger.com/GenericsFAQ/FAQSections/TechnicalDet=
ails.html#FAQ007">http://www.angelikalanger.com/GenericsFAQ/FAQSections/Te=
chnicalDetails.html#FAQ007</a></div><div>Mais je n'ai pas compris =
comment l'appliquer.</div><div>Je pense qu'il fat plut=F4t =E9crire =
:&nbsp;<b>Set&lt;String&gt; hashSet =3D new =
HashSet&lt;String&gt;(tableau.length);</b></div><div>Le 1er warning =
disparait.&nbsp;Mais pour celui sur la m=E9thode "add", je bote en =
touche =3D tableau[i] est bien de type "string"...</div><div>Si =
quelqu'un a une id=E9e, je suis preneur. Idem s'il y a mieux pour ce =
genre de traitement :)</div><div>Merci =
d'avance.</div><div><br></div><div><br></div><div><div><span>&lt;Image =
1.jpg&gt;</span></div></div></div></div></blockquote></div><br></body></ht=
ml>=

--Apple-Mail-128-194612303--