diff --git a/CCI_Java/CCI_Java/src/tp10/exo1/IntegerComparatorDescending.java b/CCI_Java/CCI_Java/src/tp10/exo1/IntegerComparatorDescending.java
new file mode 100644
index 0000000000000000000000000000000000000000..7b75a7ff65d62e1e484dee17b4759e3980625db3
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp10/exo1/IntegerComparatorDescending.java
@@ -0,0 +1,16 @@
+package tp10.exo1;
+
+import java.util.Comparator;
+
+public class IntegerComparatorDescending implements Comparator<Integer> {
+
+	@Override
+	public int compare(Integer o1, Integer o2) {
+		if (o1 > o2)
+			return -1;
+		if (o1 == o2)
+			return 0;
+		return 1;
+	}
+
+}
diff --git a/CCI_Java/CCI_Java/src/tp10/exo1/TestIntegerComparatorDescending.java b/CCI_Java/CCI_Java/src/tp10/exo1/TestIntegerComparatorDescending.java
new file mode 100644
index 0000000000000000000000000000000000000000..68a193cfc3c92dfcf6dd695b695d2e1eeecfcb78
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp10/exo1/TestIntegerComparatorDescending.java
@@ -0,0 +1,17 @@
+package tp10.exo1;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+public class TestIntegerComparatorDescending {
+
+	public static void main(String[] args) {
+
+		IntegerComparatorDescending comp = new IntegerComparatorDescending();
+		System.out.println(comp.compare(43, 4));
+		
+		
+
+	}
+
+}
diff --git a/CCI_Java/CCI_Java/src/tp10/exo1/TestSortOfInteger.java b/CCI_Java/CCI_Java/src/tp10/exo1/TestSortOfInteger.java
new file mode 100644
index 0000000000000000000000000000000000000000..0dc4a9f1cf4689da0d9f60f113bb69845b7e548e
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp10/exo1/TestSortOfInteger.java
@@ -0,0 +1,26 @@
+package tp10.exo1;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+public class TestSortOfInteger {
+
+	public static void main(String[] args) {
+
+		ArrayList<Integer> values = new ArrayList<Integer>();
+		values.add(2);
+		values.add(4);
+		values.add(30);
+		values.add(21);
+		values.add(1);
+		System.out.println(values);
+		Collections.sort(values);
+		System.out.println(values);
+		IntegerComparatorDescending comp = new IntegerComparatorDescending();
+		Collections.sort(values, comp);
+		System.out.println(values);
+		
+
+	}
+
+}
diff --git a/CCI_Java/CCI_Java/src/tp10/exo2/TestDisplayUniqueWords.java b/CCI_Java/CCI_Java/src/tp10/exo2/TestDisplayUniqueWords.java
new file mode 100644
index 0000000000000000000000000000000000000000..5b1d13146b65caf039ec06057775e740e6cab939
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp10/exo2/TestDisplayUniqueWords.java
@@ -0,0 +1,21 @@
+package tp10.exo2;
+
+import java.util.HashSet;
+
+public class TestDisplayUniqueWords {
+
+	public static void main(String[] args) {
+		
+		WordsManager man = new WordsManager(new HashSet<String>());
+		man.addWord("test1");
+		man.addWord("test2");
+		man.addWord("test3");
+		man.addWord("test4");
+		man.addWord("test2");
+		
+		man.displayUniqueWords();
+		man.displayWordOccurrences();
+
+	}
+
+}
diff --git a/CCI_Java/CCI_Java/src/tp10/exo2/TestDisplayUniqueWordsByAlphabet.java b/CCI_Java/CCI_Java/src/tp10/exo2/TestDisplayUniqueWordsByAlphabet.java
new file mode 100644
index 0000000000000000000000000000000000000000..850f3fc6c9d543ee1c2e3f1967b630f28c9c6ea1
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp10/exo2/TestDisplayUniqueWordsByAlphabet.java
@@ -0,0 +1,22 @@
+package tp10.exo2;
+
+import java.util.HashSet;
+
+public class TestDisplayUniqueWordsByAlphabet {
+
+	public static void main(String[] args) {
+		WordsManager man = new WordsManager(new HashSet<String>());
+		man.addWord("test1");
+		man.addWord("test2");
+		man.addWord("test3");
+		man.addWord("test4");
+		man.addWord("btest2");
+		man.addWord("test2");
+		man.addWord("test3");
+		man.addWord("test4");
+		
+		man.displayUniqueWordsByAlphabet();
+
+	}
+
+}
diff --git a/CCI_Java/CCI_Java/src/tp10/exo2/TestDisplayWordOccurrences.java b/CCI_Java/CCI_Java/src/tp10/exo2/TestDisplayWordOccurrences.java
new file mode 100644
index 0000000000000000000000000000000000000000..b4b656e1c56b3ea52c1c7b554ff2108d09cbac1e
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp10/exo2/TestDisplayWordOccurrences.java
@@ -0,0 +1,23 @@
+package tp10.exo2;
+
+import java.util.HashSet;
+
+public class TestDisplayWordOccurrences {
+
+	public static void main(String[] args) {
+		WordsManager man = new WordsManager(new HashSet<String>());
+		man.addWord("test1");
+		man.addWord("test2");
+		man.addWord("test3");
+		man.addWord("test4");
+		man.addWord("btest2");
+		man.addWord("test2");
+		man.addWord("test3");
+		man.addWord("test4");
+		
+		man.displayWordOccurrences();
+		man.displayUniqueWordsByAlphabet();
+
+	}
+
+}
diff --git a/CCI_Java/CCI_Java/src/tp10/exo2/WordsManager.java b/CCI_Java/CCI_Java/src/tp10/exo2/WordsManager.java
new file mode 100644
index 0000000000000000000000000000000000000000..fe20ce9cca7c66ee8d207f5e5fd112ec7651fbe3
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp10/exo2/WordsManager.java
@@ -0,0 +1,43 @@
+package tp10.exo2;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+
+public class WordsManager {
+
+	HashSet<String> uniqueWords = new HashSet<String>();
+	private HashMap<String, Integer> wordOccurrences;
+
+	public WordsManager(HashSet<String> uniqueWords) {
+		this.uniqueWords = uniqueWords;
+		this.wordOccurrences = new HashMap<String, Integer>();
+		for (String word : uniqueWords)
+			wordOccurrences.put(word, 1);
+	}
+
+	void addWord(String word) {
+		uniqueWords.add(word);
+		wordOccurrences.put(word, wordOccurrences.getOrDefault(word, 0) + 1);
+	}
+
+	void displayUniqueWords() {
+		System.out.println(uniqueWords);
+	}
+
+	void displayWordOccurrences() {
+		System.out.println(wordOccurrences);
+	}
+	
+	void displayUniqueWordsByAlphabet() {
+		List<String> list = new ArrayList<>(this.uniqueWords);
+		Collections.sort(list);
+		System.out.println(list);
+	}
+	
+	void displayWordOccurrencesByAlphabet() {
+		
+	}
+}