Вы находитесь на странице: 1из 12

Université Ibn Zohr 4ième Année G.

Info
ENSA Agadir Série de révision N°1 Année 2013/2014
Prof. R. Ezzahir

Compléter le vide ou répondre par vrai ou faux

Java a été développée par ____A____C____.


A. Sun Microsystems; B. Microsoft; C. Oracle; D. IBM; E. Cisco Systems
_____B______ Java peut fonctionner à partir d'un navigateur Web.
A. applications; B. applets; C. servlets ; D. programmes Micro Edition
__A__B__D__ est un langage de programmation orienté objet.
A. Java; B. C ++; C. C; D. C # ; E. Pascal
____A____ est interprété.
A. Java; B. C ++; C. C; D. Ada ; E. Pascal

___. spécification du langage Java __ est une définition technique de la langue


que comprennent la syntaxe et la sémantique du langage de programmation Java.
_____ API Java ___ contient des classes prédéfinies et des interfaces pour
développer des programmes Java.
_ Java JDK se compose d'un ensemble de programmes distincts pour développer et
tester des programmes Java, dont chacun est appelé à partir d'une ligne de
commande.
__ Java IDE __ fournit un environnement de développement intégré (IDE) pour
développer rapidement des programmes Java. Édition, la compilation, la
construction, le débogage et l'aide en ligne sont intégrés dans une interface
utilisateur graphique.
A. spécification du langage Java; B. API Java ; C. Java JDK, D. Java IDE

- La commande JDK pour compiler une classe dans le fichier Test.java est javac
Test.java
A. java test B. java Test.java C. javac Test.java D. javac essai

- Quelle commande JDK est correcte pour exécuter une application Java dans
ByteCode.class? java ByteCode
A. bytecode Java B. java ByteCode.class C. javac ByteCode.java
D. javac ByteCode E. java ByteCode

- Le compilateur Java traduit le code source Java en bytecode Java _________.


A. bytecode Java; B. code machine; C. code assembleur ;
D. autre code de langage de haut niveau
______ JVM ___ est un logiciel qui interprète bytecode Java.
A. JVM B. Le compilateur Java C. Le débogueur Java D. L’API Java

- Supposons que vous définissez une classe Java comme suit: public class Test { }
Pour le compiler, le code source doit être stocké dans le fichier __D_ Test.java
______.
A. Test.class B. Test.doc C. Test.txt D. Test.java E. unNom.java

- Le nom de l'extension d'un fichier bytecode Java est_.class __C___


- Le nom de l'extension d'un fichier de code source Java est_.java __A__
A. .java ; B. .obj ; C. .class ; D. .exe :

- Le style de programmation est importante, car ______________.


A. un programme peut ne pas compiler si elle a un mauvais style
B. bon style de programmation peut faire un programme plus rapide
C. bon style de programmation qui rend un programme plus lisible
D. bon style de programmation permet de réduire les erreurs de programmation

- Si un programme compile bien, mais il produit un résultat incorrect, alors il


souffre d’un erreur de ______C_____
- Si vous oubliez de mettre un guillemet de fermeture sur une String, quels
types d’erreur seront ressuscités ? __A___B_
A. compilation B. exécution C. logique

Bibliographie : Introduction to Java Programming, Ninth Edition, Y. Daniel Liang


- Supposons qu’un objet Scanner est créé comme suit:
Scanner input = new Scanner (System.in);
Quelle méthode utilisez-vous pour lire une valeur int?____A_____
A. input.nextInt (); B. input.nextInteger (); C. input.int();

- Le fragment de code suivant lit deux chiffres:


int i = input.nextInt ();
double d = input.nextDouble ();
- Quels sont les moyens corrects pour entrer ces deux nombres?
A. Entrez un entier, un espace, une valeur double, puis sur la touche Entrée.
B. Entrez un nombre entier, deux espaces, une valeur double, puis Entrée
C. Entrez un entier, suivi de la touche Entrée, une valeur double, puis Entrée.
D. Entrez une valeur numérique, virgule, un espace, un entier, puis Entrée.

- Lesquels de ces types de données nécessite le plus de mémoire?


A. long; B. int; C. short; D. byte

- Chaque lettre dans un mot clé Java est en minuscules? A. vrai; B. faux

- Lequel des énoncés suivants est un identifiant valide?


A. $343 ; B. class; C. 9X; D. 8+9; E. rayon

- Lequel des énoncés suivants sont des noms corrects pour les variables selon les
conventions de nommage Java? A. rayon; B. Rayon; C. RAYON; D. fRayon

- Lequel des énoncés d'affectation suivantes est incorrect? A. i = j = k = 1;


B. i = 1, j = 1, k = 1; C. i = 1 = j = 1 = k = 1; D. i == j == k == 1;

- Lesquels des énoncés suivants est une constante, selon les normes de nommage?
A. MAX_VALUE; B. essai; C. lecture; D. ReadInt; E. COUNT

Pour améliorer la lisibilité et de maintenabilité, vous devez déclarer des


_________ au lieu d'utiliser des valeurs littérales comme 3,14159.
A. variables; B. méthodes; C. constantes; D. classes

- Selon la convention de nomage, lesquels des noms suivants peuvent être des
variables? A. FindArea; B. findArea; C. totalLength; D. TOTAL_LENGTH

- S'il y a débordement, jvm remonte à la valeur minimale et continue à partir de


là. Si elle les dépassements, il remonte à la valeur maximale et continue à
partir de là. Vrai/faux _______ faux _______

- Si un nombre est trop grand pour être stocké dans une variable de type float,
il ___A_______.
A. provoque un dépassement; B. provoque un débordement;
C. n’y pas d'erreur; D. ne peut pas se produire dans Java

- Analyser le code suivant:


public class Test {
public static void main (String [] args) {
int n = 10000 * 10000 * 10000;
System.out.println ("n est" + n);
}
}

A. Le programme affiche n est 1000000000000


B. Le résultat de 10000 * 10000 * 10000 est trop grand pour être stocké dans un
int. Cela provoque un débordement et le programme est interrompu.
C. Le résultat de 10000 * 10000 * 10000 est trop grand pour être stocké dans un
int. Cela provoque un débordement et le programme continue de s'exécuter
parce que Java ne signale pas d'erreur en cas de débordement.
D. Le résultat de 10000 * 10000 * 10000 est trop grand pour être stocké dans un
int. Cela provoque un débordement et le programme est interrompu.
E. Le résultat de 10000 * 10000 * 10000 est trop grand pour être stocké dans un
int. Cela provoque un débordement et le programme continue de s'exécuter
parce que Java ne signale pas les erreurs sur débordement.

- Quel est le résultat de 45/4?______ 11____ A. 10; B. 11; C. 11,25; D. 12

- Lequel des résultats d'expression suivants dans une valeur de 1?_________


A. 2% 1; B. 15% 4; C. 25% 5; D. 37% 6

25% 1 est ___E__ A. 1; B. 2; C 3; D. 4; E. 0


-25% 5 est ____E_ A. 1; B. 2; C 3; D. 4; E. 0
24% 5 est ____D_ A. 1; B. 2; C 3; D. 4; E. 0
-24% 5 est ____D_ A. -1; B. -2; C. -3; D. -4; E. 0
-24% -5 est__C___ A. 3; B. -3; C. 4; D. -4 E. 0
Math.pow (2, 3) renvoie ______B____. A. 9; B. 8; C. 9,0; D. 8.0
Math.pow (4, 1/2) renvoie _____E___ . A. 2; B. 2.0; C. 0; D. 1.0; E. 1

- Pour affecter une variable double d à une variable float x, vous écrivez_____D_
A. x = (long) d; B. x = (int) d; C. x = d; D. x = (float) d;

- Lequel des énoncés suivants d'affectation est illégale?_____D_______C_____


A. float f=-34 B. short s = 10; C. int t = (int)false; D. int t = 4,5;

- Quelle est la valeur du (double) 5/2?__B__ A. 2; B. 2.5; C 3; D. 2.0; E.


3.0
- Quelle est la valeur du (double) (5/2.0)?__B__ A. 2; B. 2.5; C 3; D. 2.0;

- Si vous essayez d'ajouter un int, un byte, un long et un double, le résultat


sera une valeur de type ____DOUBLE______.

- L'expression "Java" + 1 + 2 + 3 s’évalue à _____A___.


A. Java123; B. java6; C. Java 123; D. java 123; E. expression illégale

- l’Unicode de A est 65. L'expression "A" + 1 évalue à ____C____.


- L'expression 'A' + 1 s’évalue à ____A____.
A. 66; B. B; C. A1; D. expression illégale

- Le System.currentTimeMillis() retourne _______D_________.


A. l'heure actuelle.
B. l'heure actuelle en millisecondes.
C. l'heure actuelle en millisecondes depuis minuit.
D. Le temps actuel en millisecondes depuis minuit, 1 Janvier, 1970 GMT.

- La méthode de _______A__ analyse une chaîne s vers une valeur int.


A. Integer.parseInt (s); B. Integer.parseInt (s);
C. integer.parseInteger (s); D. Integer.parseInteger (s);

- La méthode de _____A_____ analyse une chaîne s à une valeur double.


A. Double.parseDouble (s); B. Double.parseDouble (s);
C. Double.Parse (s); D. Double.parseDouble (s);

- Le programme suivant va terminer (vrai/faux) ?________


int balance = 10;
while (true) {
if (balance < 9) continue;
balance = balance - 9;
}
- Lequel des énoncés suivants sont corrects?__________D____
A. char [][] charArray = {'a', 'b'};
B. char [2][2] charArray = {{'a', 'b'}, {'c', 'd'}};
C. char [2][] charArray = {{'a', 'b'}, {'c', 'd'}};
D. char [][] charArray = {{'a', 'b'}, {'c', 'd'}};

- Supposons int [][] x = {{1, 2}, {3, 4}, {5, 6}}, quelles sont les valeurs de
x.length et x[0].length? ____________
A. 2 et 1 B. 2 et 2 C. 3 et 2 D. 2 et 3 E. 3 et 3

- Quel est le résultat du code ci-dessous? ______B____


public class Test5 {
public static void main (String [] args) {
int [] [] matrice =
{{1, 2, 3, 4},
{4, 5, 6, 7},
{8, 9, 10, 11},
{12, 13, 14, 15}}; for (int i = 0; i <4; i + +)
System.out.print (matrice [1] [i] + "");
} }

A. 1 2 3 4 B. 4 5 6 7 C. 1 3 8 12 D. 2 5 9 13 E. 3 6 10 14

- Soit Date[] dates = new java.util.Date [10], laquelle des affirmations


suivantes est vraie ?______________
A. dates est nulle.
B. dates [0] est nulle.
C. dates =new Date[5] ; assigne un nouveau tableau de dates.
D. date =new Date (); pour crée un nouvel objet Date et assigne aux dates.

- Supposons que la méthode xMethod() est appelée à partir d'une méthode


principale main d’une classe comme suit :
public static void main (String [] args) {
xMethod ();
}
xMethod() _________ est dans la classe.
A. une méthode statique
B. une méthode d'instance
C. une méthode statique ou une méthode d'instance

Lors de l'invocation d'une méthode avec un argument d'objet, ___________ est


passé.
A. le contenu de l'objet
B. une copie de l'objet
C. une copie de la référence de l'objet
D. l'objet est copié, puis la référence de l'objet copié

- Supposons que vous souhaitez fournir une méthode d'accès pour une propriété
booléenne finished, la signature de la méthode devrait être?

A. public boolean getFinished () B. public void getFinished ()


C. public void isFinished () D. public boolean isFinished ()

- Lequel des énoncés suivants est l’entête correcte de la méthode main?


A. public static void main(String[] args)
B. public static void main(String args[])
C. public static void main(String[] x)
D. public static void main(String x[])
E. static void main(String[] args)
Analyser le code suivant :
public class Foo {
private int x;
public static void main(String[] args) {
Foo foo = new Foo();
System.out.println(foo.x);
}
}
A. Puisque x est privé, on ne peut pas y accéder à partir d'un objet foo.
B. Puisque x est définie dans la classe Foo, il peut être consulté par toute
méthode à l'intérieur de la classe sans l'aide d'un objet. Vous pouvez écrire
le code pour accéder x sans créer un objet comme foo dans ce code.
C. Puisque x est une variable d'instance, il ne peut pas être directement
utilisé à l'intérieur d'une méthode main. Cependant, il peut être
consulté par un objet tel foo dans ce code.
D. Vous ne pouvez pas créer un objet auto-référencée, c'est-foo est créé à
l'intérieur de la classe Foo.

- Lesquels des énoncés suivants sont vrais à propos d'un objet immuable?

A. Le contenu d'un objet immuable ne peut pas être modifié.


B. Toutes les propriétés d'un objet immuable doit être privé.
C. Toutes les propriétés d'un objet immuable doivent être de types primitifs.
D. un attribut type d'objet dans un objet immuable doit également être immuable.
E. Un objet immuable ne contient aucune méthode de mutation.

- Analyser le code suivant :


public class A extends B {}
class B {
public B(String s) {
}
}
A. Erreur de compilation parce que A n'a pas un constructeur par défaut.
B. Erreur de compilation car le constructeur par défaut de A appelle le
constructeur par défaut de B, mais B n'a pas de constructeur par défaut.
C. Le programme compiler correctement si vous ajoutez le constructeur suivant
dans A: A(String s) {}
D. Le programme compiler correctement si vous ajoutez le constructeur suivant
dans A: A(String s) {super(s);}

- Lesquels des énoncés suivants sont incorrects?

A. Un constructeur peut être statique.


B. Un constructeur peut être privé.
C. Un constructeur peut appeler une méthode statique.
D. Un constructeur peut invoquer un constructeur surchargé.
E. Un constructeur invoque le constructeur par défaut de son superclasse si un
constructeur n'invoque pas un constructeur surchargé ou le constructeur de
sa superclasse.

- Lequel des énoncés concernant le mot clé super est incorrect?

A. Vous pouvez utiliser super pour appeler un constructeur de super-classe.


B. Vous pouvez utiliser super pour appeler une méthode de super classe.
C. Vous pouvez utiliser super.super.p pour appeler une méthode dans la classe
parente de superclasse.
D. Vous ne pouvez pas appeler une méthode dans la classe parente de
superclasse.
- La méthode getValue() est redéfinie (substituée) de deux façons.
Lequel est le bon?__________

I II
class B { class B {
public String getValue() { public Object getValue() {
return "Any object"; return "Any object";
} }
} }
class A extends B { class A extends B {
public Object getValue() { public String getValue() {
return "A string"; return "A string";
} }
} }

A. I B. II C. Les deux I et II D. ni I ni II

- Soit le code suivant, trouvez l’erreur de compilation

public class Test { class EngineerStudent extends Student {


public static void main(String[] args)
}
{ class Student extends Person {
m(new EngineerStudent()); public String toString() {
m(new Student()); return "Student";
m(new Person()); }
m(new Object()); }
} class Person extends Object {
public static void m(Student x) { public String toString() {
System.out.println(x.toString()); return "Person";
} }
} }

A. m(new EngineerStudent())provoque une erreur


B. m(new Student())provoque une erreur
C. m(new Person())provoque une erreur
D. m(new Object())provoque une erreur

- Quelles énoncés sont les plus précises concernant les classes suivantes?

class A { class B extends A {


private int i; private int k;
protected int j; protected int m;
}
// some methods omitted
}

A. Dans la classe B, une méthode d'instance ne peut accéder à i, j, k, m.


B. Dans la classe B, une méthode d'instance ne peut accéder j, k, m.
C. Dans la classe B, une méthode d'instance ne peut accéder j, m.
D. Dans la classe B, une méthode d'instance ne peut accéder k, m.

- Le Polymorphisme signifie ______________.


- L’Encapsulation signifie ______________.

A. les champs de données devraient être déclarées privés (private).


B. qu'une classe peut étendre une autre classe.
C. qu'une variable de super-type peut se référer à un objet de sous-type.
D. qu'une classe peut contenir une autre classe.

- L’Héritage signifie ______________.

A. les champs de données devraient être déclarées privés (private).


B. qu'une classe peut étendre une autre classe.
C. qu'une variable de super-peut se référer à un objet de sous-type.
D. qu'une classe peut contenir une autre classe.

- La Composition signifie ______________.


A. les champs de données devraient être déclarées privé private).
B. qu'une classe étend une autre classe.
C. qu'une variable de super-type se réfère à un objet de sous-type.
D. qu'une classe contient un champ de données qui fait référence à un autre
objet.

Analyser les codes suivants :

public class Test { class A { class B extends A {


public static void int i; public void m(intpublic void m(String s) {
main(String[] args) { i) { }
B b = new B(); this.i = i; }
b.m(5); }
System.out.println("i }is
" + b.i);
}
}

A. Erreur de compilation, car m est remplacée avec une signature différente de


celle en B.
B. Erreur de compilation, car b.m(5) ne peut être invoquée puisque la méthode
m(int) est caché dans B.
C. Erreur d'exécution sur b.i, parce que i n'est pas accessible à partir de b.
D. La méthode m n'est pas re-définie dans B. B hérite la méthode m de A et
définit une méthode surchargée m dans B.

- Une exception Java est une instance de __________.


A. RuntimeException B. Exception C. Error D. Throwable E. NumberFormatException

- Le code suivant provoque Java pour lancer _________:


int nombre = Integer.MAX_VALUE + 1;
A. RuntimeException, B. Exception, C. Error, D. Throwable,
E. pas d’exceptions

- Ce qui est affiché sur la console lors de l'exécution du programme suivant?

class Test {
public static void main (String [] args) {
try {
System.out.println ("Bienvenue à Java");
int i = 0;
int y = 2 / i;
System.out.println ("Bienvenue à Java");
}
finally {
System.out.println ("Fin du bloc");
}
System.out.println ("Fin du bloc");
}
}
A. Le programme affiche Bienvenue à Java trois fois suivies de fin du bloc.
B. Le programme affiche Bienvenue à Java deux fois suivies de fin du bloc.
C. Le programme affiche Bienvenue à Java deux fois suivies de fin du bloc deux
fois.
D. Le programme affiche Bienvenue à Java et à la fin du bloc, puis se termine à
cause

- Qui ce qu’est affiché sur la console lors de l'exécution du programme suivant ?

class Test { static void methode() throws Exception {


public static void main(String [] args ){ try {
try { String s = " 5.6" ;
methode( ) ; Integer.parseInt (s) ;
System.out.println ( // Cause une NumberFormatException
" Après l'appel de methode "); int i = 0;
} int y = 2 / i ;
catch ( RuntimeException ex) { System.out.println (" Bienvenue à Java ");
System.out.println ( }
" RuntimeException "); catch ( NumberFormatException ex) {
} System.out.println ("NumberFormatException ");
catch (Exception ex) { throw ex ;
System.out.println (" Exception "); }catch (RuntimeException ex) {
} System.out.println (" RuntimeException ");
} }
}
}

A. Erreur de compilation. B. Le programme affiche deux fois


NumberFormatException.
C. Le programme affiche NumberFormatException suivie par " Après l'appel de
methode ".
D. Le programme affiche NumberFormatException suivie par RuntimeException.

- Quelles sont les raisons de la création d’une instance de la classe File?


A. Afin de déterminer si le fichier existe.
B. Afin d'obtenir les propriétés du fichier comme si le fichier peut être lu,
écrit, ou
est caché.
C. Pour renommer le fichieA. D. Pour supprimer le fichieA.
E. Pour lire/écrire des données depuis/vers un fichier

- Quel énoncé permet de crée une instance de Fil pour un fichier Windows
c:\temp.txt?
A. new File ("c:\temp.txt") B. new File ("c:\\temp.txt")
C. new File ("c :/temp.txt") D. new File ("c://temp.txt")

- Dans le code source de la classe PrintWriter un constricteur est défini


comme suit :
public PrintWriter(String fileName) throws FileNotFoundException {
this(new BufferedWriter(new OutputStreamWriter(new
FileOutputStream(fileName))), false); }
Explication de ce code :
…………………………………………………………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………………………………………………………………
- Lequel des énoncés suivants est exact?________________
A. Les génériques peuvent aider à détecter les erreurs de type lors de la
compilation, donc rendre les programmes plus robustes.
B. Les génériques peuvent rendre les programmes faciles à lire.
C. Les génériques peuvent éviter castings encombrants.
D. les génériques peuvent rendre les programmes s'exécutent plus rapidement.

- Lequel des énoncés suivants est exact?


A. Comparable<String> c = new String("abc"); B. Comparable<String> c = "abc";
C. Comparable<String> c = new Date(); D. Comparable<Object> c = new Date();

- Supposons List list = new ArrayList(). Quelles sont les operations correct ?
A. list.add("Red"); B. list.add(new Integer(100));
C. list.add(new java.util.Date()); D. list.add(new ArrayList());

- Supposons List<String> list = new ArrayList<>(). Quelles sont les operations


correct?
A. list.add("Red"); B. list.add(new Integer(100));
C. list.add(new java.util.Date()); D. list.add(new ArrayList());

- Pour déclarer une classe nommée A avec deux types génériques, utilisez
A. public class A<E> { ... }
B. public class A<E, F> { ... }
C. public class A(E) { ... }
D. public class A(E, F) { ... }

L'en-tête de la méthode est laissé en blanc dans le code suivant. Remplissez


l'en-tête.

public class GenericMethodDemo { ___________________________________ {


public static void main(String[] args ) { for (int i = 0; i < list.length; i++)
Integer[] integers = {1, 2, 3, 4, 5}; System.out.print(list[i] + " ");
String[] strings = {"London", "Paris", System.out.println();
"New York", "Austin"}; }
print(integers); }
print(strings);
}

A. public static void print(Integer[] list)


B. public static void print(String[] list)
C. public static void print(int[] list)
D. public static void print(Object[] list)

- Lesquelles des déclarations suivantes utilisent le type cru (raw type)?


A. ArrayList<Object> l = new ArrayList<Object>();
B. ArrayList l = new ArrayList();
C. ArrayList<String> l = new ArrayList<String>();
D. ArrayList<Integer> l = new ArrayList();

ArrayList<Integer> est une sous-classe de ArrayList<Object>?(oui/non)__________


ArrayList<Integer> est une sous-classe de ArrayList<?> ?(oui/non)______________
ArrayList<Integer> est une sous-classe de ArrayList<? extends Number>?_________
ArrayList<Number> est une sous-classe de ArrayList <? extends Number>?_________
ArrayList<?> est la même que ArrayLis <? extends Objet>?_______________________
<? super Number> représenter une superclasse de Number?________________________

- Une fonction de hachage __________.


A. stocke un élément dans la table de hachage
B. mappe une clé à un index dans la table de hachage
Vrai ou faux? Chaque objet a la méthode hashCode(). _____

- Lequel des énoncés suivants peuvent être utilisés pour remplacer YYYYYYY dans
le code suivant?

public class WildCardDemo {


public static void main(String[] args) {
GenericStack<String> stack1 = new GenericStack<String>();
GenericStack<Object> stack2 = new GenericStack<Object>();
stack2.push("Java");
stack2.push(2);
stack1.push("Sun");
add(stack1, stack2);
WildCardDemo2.print(stack2);
}
public static <T> void add(GenericStack<T> stack1,
GenericStack<YYYYYYY> stack2) {
while (!stack1.isEmpty())
stack2.push(stack1.pop());
}
}
A. ? super Object B. ? super T C. ? extends T D. ? extends Object

- ArrayList<String> et ArrayList<Integer> sont deux types. Est-ce que JVM charge


deux classes ArrayList<String> et ArrayList<Integer>? A. Oui B. Non

- Si E est un type générique pour une classe, E peut être référencé à partir
d'une méthode statique? A. Oui B. Non

- Toutes les classes concrètes du Framework des collections Java implémentent les
interfaces :
A. Cloneable B. Serializable C. Comparable
D. Comparator E. Collection F. Iterable

- La méthode iterator () retourne une instance de l'interface __________.


A. Iterator B. Collection C. Iterable D. ArrayList

Lesquels des énoncés suivants sont vrais?

A. java.util.List hérite de toutes les méthodes de java.util.Collection.


En outre, il contient de nouvelles méthodes pour manipuler une liste.
B. La classe AbstractList fournit une implémentation partielle de List.
C. ArrayList est une implémentation concrète de list à l'aide d'un tableau.
D. LinkedList est une implémentation concrète de list en utilisant une liste
chaînée.
E. LinkedList contient toutes les méthodes de la liste et de nouvelles méthodes
supplémentaires pour la manipulation d'une liste chaînée.
F. ListIterator est une sous-interface de Iterator et il fournit les méthodes
pour soutenir le parcours bi-directionnel d'une liste.

- Lesquels des énoncés suivants sont corrects pour trier les éléments d'une liste
lst?____ A. lst.sort() B. Collections.sort(lst) C. Arrays.sort(lst)

- Lesquels des énoncés suivants sont vrais?


A. Collections.shuffle(liste) Permute aléatoirement la liste spécifiée en
utilisant une source d'aléatoire par défaut.
B. Collections.reverse(liste) retourne une nouvelle liste tandis que la liste
originale n'est pas modifiée.
C. Collections.sort(liste) Trie la liste spécifiée dans l'ordre croissant, selon
l'ordre naturel Comparable de ses éléments.
D. Collections.nCopies(int,Object)retourne une nouvelle liste qui se compose de n
copies de l'objet.
- Pour créer un ensemble qui se compose d'éléments de chaîne "red", "green", et
"blue", en utilise :

A. new HashSet<String>({"red", "green", "blue"})


B. new HashSet<String>(new String[]{"red", "green", "blue"})
C. new HashSet<String>(Arrays.asList(new String[]{"red", "green", "blue"}))
D. new LinkedHashSet<String>(Arrays.asList(new String[]{"red", "green",
"blue"}))
E. new Set<String>(Arrays.asList(new String[]{"red", "green", "blue"}))

- java.util.Vector est un sous-type de __________.


A. java.util.ArrayList B. java.util.LinkedList
C. java.util.AbstractList D. java.util.Vector

- les méthodes pour modifier les elements dans la classe ___________ sont
synchronizer (synchronized).
A. ArrayList B. LinkedList C. TreeMap D. Vector E. HashSet

- Indiquer parmi les types de données ci-dessous ceux qui ne permettent pas les
doublons?_________
A. Set B. List C. Vector D. Stack E. LinkedList F. HashSet G. LinkedHashSet

- Si deux objets O1 et O2 sont égaux, quelles sont les valeurs de o1.equals (O2)
et o1.hashCode () == o2.hashCode (?)________
A. true true B. true false C. false true D. false false

Quel est le résultat pour les codes suivants?

import java.util.*; class A { class A {


public class Test { int r = 1; class A { int r = 1;
public static void main(String[] public String toString() { int r = 1;
args) { return r + ""; } public String toString() {
Set<A> set = new HashSet<A>(); public boolean equals(Object o) public String toString() return r + "";
set.add(new A()); { { }
set.add(new A()); return this.r == ((A)o).r; return r + ""; public boolean equals(
set.add(new A()); } } Object o){
set.add(new A()); public int hashCode() { public int hashCode() { return r == ((A)o).r;
System.out.println(set); return r; return r; }
} } } }
} } }

A. [1] B. [1, 1] C. [1, 1, 1] D. [1, 1, 1, 1] (votre réponse ici)……………… ……………….(votre réponse ici)…… ……………….
(votre réponse ici)………………

- Lequel des énoncés suivants sont des méthodes correctes dans Map?
A. put(Object key, Object value) B. put(Object value, Object key)
C. get(Object key) D. get(int index)

- Les éléments de ________ sont triés.


A. TreeSet B. List C. TreeMap D. HashSet E. LinkedHashSet

- Supposons que votre programme teste régulièrement si un étudiant est dans une
équipe de football et aussi besoin de savoir des informations telles que le
numéro de téléphone, l'adresse et l'âge, quelle est la meilleure structure de
données pour stocker les étudiants dans une équipe de football?
A. ArrayList B. HashMap C. TreeMap D. LinkedList E. HashSet

- Pour ajouter des données à un fichier existant, on utilise _____________ pour


construire un FileOutputStream pour le fichier out.dat.

A. new FileOutputStream ("out.dat")


B. new FileOutputStream ("out.dat", false)
C. new FileOutputStream ("out.dat", true)
D. new FileOutputStream (true, "out.dat")
- Quel type d'exception se produit lors de la création d'un DataInputStream pour un
fichier qui n'existe pas?
A. FileNotExist B. FileNotExistException C. FileNotFound D. FileNotFoundException

- Pour créer un fichier, vous pouvez utiliser __________.

A. FileOutputStream B. FileWriter
C. RandomAccessFile D. Tous les éléments ci-dessus.

- pour chaqun des 2 programmes suivants, combien d'octets sont écrits dans le
fichier t.dat après fin de l’exécution?

import java.io.*; import java.io.*;


public class Test {
public static void main(String[] args) throws public class Test {
IOException { public static void main(String[] args)
DataOutputStream output = new
throws IOException {
DataOutputStream(new
DataOutputStream output = new
FileOutputStream("t.dat")); DataOutputStream(new
output.writeShort(1234); FileOutputStream("t.dat"));
output.writeShort(5678); output.writeChar('A');
output.close(); output.close();
} }
} }
?. . . .. . . . . . . . . . . ? . . . . . . . . . . . . . .

A. 2 bytes. B. 4 bytes. C. 8 bytes. D. 16 bytes.

- Lequel des énoncés suivants sont vrais?

A. ObjectInputStream/ObjectOutputStream vous permet d'effectuer des E/S


pour les objets, en plus des valeurs et des chaînes de type primitif.
B. Depuis ObjectInputStream/ObjectOutputStream contient toutes les fonctions
de DataInputStream/DataOutputStream, vous pouvez remplacer DataInputStream /
DataOutputStream complètement par ObjectInputStream/ObjectOutputStream.
C. Pour écrire un objet, l'objet doit être Serializable.
C. L'interface Serializable ne contient pas de méthodes. Donc, il s'agit d'une
interface de recherche.
E. Si tous les éléments d'un tableau sont Serializable, le tableau est aussi
Serializable.

- Lequel des énoncés suivants sont vrais?

A. Vous pouvez toujours passer une instance d'une sous-classe dans un paramètre
de type superclasse. Cette fonctionnalité est appelée polymorphisme.
B. Le compilateur trouve une méthode d'appariement en fonction du type de
paramètre, le nombre de paramètres, et l'ordre des paramètres au moment de
la compilation.
C. Une méthode peut être mise en œuvre dans plusieurs sous-classes. La machine
virtuelle Java lie dynamiquement la mise en œuvre de la méthode à
l'exécution.
D. la résolution dynamique peut s'appliquer à des méthodes statiques.
E. la résolution dynamique s'appliquer aux méthodes d'instance.