Chedly Zouche 2019 - 2020
Notes JAVA (importations - TPs -
Activité 1)
Intro P1
Scanner s = new scanner([Link])
Int n = [Link]()
Chedly Zouche 2019 - 2020
Packages et interfaces
Chedly Zouche 2019 - 2020
Interfaces :
Chedly Zouche 2019 - 2020
Chedly Zouche 2019 - 2020
Expressions lambdas
Chedly Zouche 2019 - 2020
References_méthodes
Reference to an instance method :
Chedly Zouche 2019 - 2020
Chedly Zouche 2019 - 2020
Classes génériques
Classe<?>
Accepte n’importe quelle classe
Classe<? extends type>
Accepte n’importe quelle classe fille de type
classe <? super type>
Accepte tout les ascendants de type
Instantiation :
classe<type_generique> nom_var = new classe<> ()
Chedly Zouche 2019 - 2020
Exceptions
Classe throwable :
- Throwable(String s)
- String getMessage()
- Void printStackTrace()
Error Herite de Throwable :
- Erreurs critiques non sensés etre geré par notre programme
- Le programme s’arrete automatiquement
Exception herite de Throwable :
- Doivent etre traités
Si l’exception ne va pas etre traité localement, on doit ajouter throws TypeException
dans l’entete de la méthode (Ceci est recurisf )
Sinon on la traité avec :
try {}
catch (Exception e) n’importe exception{}
Catch (TypeException e){}
Finally{} (cleanup code, fermeture de fichier connexions - va etre executé meme s’il ya un return
dans le catch ou try)
Custom Exception
Classes de base
Classe object :
toString() : Retourne nom_classe@adresse_objet
equals () : retourne boolean @objet1 == @objet2
finalize () : “destructeur” invoqué avant la destruction d’un objet
clone() : instancie un nouveau objet copie de this
Il faut que la classe implémente l’interface clonable
Chedly Zouche 2019 - 2020
Classe Class :
[Link]()-> renvoie un objet de type Classe
[Link]() : Renvoie le nom de la classe
Class. getSuperclass() : renvoie des informations de type Class sur la super classe.
[Link] : = getName() + “class” || “interface” selon le cas
StringBuffer :
Représente des chaines de tailles variables
On ne peut pas utiliser “+” comme avec String
StringTokenizer:
StringTokenizer st = new StringTokenizer(texte, “,:”)
Découpe le texte en des tokens à chaque “,” ou “:”
Chedly Zouche 2019 - 2020
Collections
Vecteurs Dynamiques : ArrayList, Vector
Listes chainées : LinkedList
Ensembles ‘Set’ : HashSet - TreeSet
PriorityQueue - ArrayDecque
Interface Collection :
Int size()
Boolean Contains(element)
Boolean isempty()
Boolean add(element)
Boolean remove(element)
Iterator iterator()
Int hashCode()
Boolean equals(element)
Boolean add/remove/containsAll(collection)
Void clear()
Interface Iterator :
Boolean hasNext()
Obj next()
Void remove()
Exemple :
Collection c = new …
Iterator it = [Link]()
While ([Link]()){
Element = [Link]()
….
}
Interface Set :
Herite de Collection
La seule différence est que les élements ne sont pas dupliqués
SortedSet hérite de Set
A = {1,2,3}
Classe TreeSet, HashSet implémentent Set et SortedSet :
Exemple :
Set a = new HashSet();
[Link](“eqsd”);
….
// l’ajout d’un élément déja existant n’implique pas un erreur
Chedly Zouche 2019 - 2020
a ne sera pas trié
Set b = new TreeSet(a)
b sera trié
Interface List :
Hérite de collection
Obj get(index);
Obj set(index, element)
Void add(index, element)
Obj remove(index)
Boolean addAll(index, collection)
Int indexOf(element)
Int lastIndexOf(element)
ListIterator listIterator(index(”optionnel”))
List subList(fromindex,toIndex)
Interface ListIterator :
Hérite de Iterator
Permet le parcours dans les deux sens
++
Boolean hasPrevious()
Obj previous()
Void set(element)
Void add(element)
Int nextIndex()
Int previousIndex()
Exemple : Parcours à l’envers :
ListIterator it = new [Link]([Link]())
While ([Link]()){
….
}
Classe LinkedList :
Previous du premier element est Null
Next du dernier element est Null
Void addFirst(element)
Void removeLast(element)
Pour l’insertion au milieu on utilise l’iterator [Link]() , [Link](element)
Classe ArrayList :
Plus rapide en lecture que linkedList
Moins rapide en écriture modification au milieu de la liste
Boolean contains(element)
Chedly Zouche 2019 - 2020
For (type element : arrayListName)
[Link](callback/reference.../ Exemple : [Link]::println)
Pour les collections génériques, la déclaration de l’iterator doit être générique aussi.
Interface Map :
Object put (obj key, obj value)
Object get(obj key)
Object remove(obj key)
Boolean containsKey(obj key)
Boolean containsValue(obj value)
Int size()
Interface Entry :
Obj getKey()
getValue()
setValue(obj value)
Algorithmes manipulant les collections :
sort(list)
sort(list, Comparator comp)
shuffle(list)
reverse(list)
fill(list,element)
copy(listsrc,listdest)
Min,max…
Interface Queue : fifo
Boolean offer(element) ajout
Obj pull() renvoie et supprime
Obj peek renvoie
Classe PriorityQueue :
Interface Comparator :
Int compareTo(obj) ->
Object faisant l’appel est plus petit : <0
== : =0
Sinon >0
Implémentation d’un comparator dans une classe :
Chedly Zouche 2019 - 2020
Interface Deque :
add/get/removeFirst/Last()
offer/peek/poll
API Stream
Generation de stream :
Chedly Zouche 2019 - 2020
Chedly Zouche 2019 - 2020
Méthodes intermédiaires :
Chedly Zouche 2019 - 2020
Filter :
Map : (prend en paramétre “new Function<TypeEntree,TypeSortie> {TypsSortie
apply(TypeEntree){}”)
Chedly Zouche 2019 - 2020
Sorted :
Chedly Zouche 2019 - 2020
Collect :
Chedly Zouche 2019 - 2020
Les terminals :
Optional et comparateurs :
Chedly Zouche 2019 - 2020