bonsoir!
pourriez-vous svp m'expliquer quelle est la différence entre size et length ?
on les utilise pour les mêmes choses ? (tableau, liste..)
merci à tous!
bonne soirée
aud-
bonsoir!
pourriez-vous svp m'expliquer quelle est la différence entre size et length ?
on les utilise pour les mêmes choses ? (tableau, liste..)
merci à tous!
bonne soirée
aud-
Ben la réponse est dans la question.
length est une donnée membre des tableaux ([]).
size() est une méthode qui s'applique sur les collections.
@+
Lionel
Pour connaître la raison de l'existence des 2 (à la place d'avoir size ou length partout), demande aux gars de Sun qui ont désigné l'API... Ils devaient pas souvent parler ensemble, ceux-là ;-)
voiçi un code que j'ai trouvé sur la toile:
résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import java.util.BitSet; public class BitSetTest { public static void main(String[] args) { BitSet bits = new BitSet(8); for (int i = 0; i < 8; i++) { if (i % 2 == 0) bits.clear(i); else bits.set(i); } System.out.println("BitSet " + bits); System.out.println("length: " + bits.length() + ", size: " + bits.size()); } }
à vous d'en juger
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 BitSet {1, 3, 5, 7} length: 8, size: 64![]()
s'il faut commetner le code précédant on aboutira à la conclusion que length renvoie le nombre d'élément d'une collection ou un tableau alors que size renvoi l'espace mémoire occupé.
dans le code code précédent:
on a déclaré un bitset de 8 elements. selon le fonctionnement de Bitset ce sont les indices qui porte la valeur TRUE qui sont affiché, mais le bitset a toujours 8 élements et c'est ce que renvoi la méthode length.
par contre size renvoi 64=8*8 c'est à dire 8 éléments de de 8bits. enffet l'espace mémoire!
Attention la conversation que tu cites est a propos de la classe BitSet qui n'a rien a voir avec l'API de Collection de Java
Partager