diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5ff6309
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml
new file mode 100644
index 0000000..4c0e7f0
--- /dev/null
+++ b/.idea/checkstyle-idea.xml
@@ -0,0 +1,15 @@
+
+
+
+ 10.12.3
+ JavaOnly
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..fd26528
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..fdf1fc8
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..d85fbdd
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,17 @@
+
+
+ 4.0.0
+
+ org.exercises
+ Exercises
+ 1.0-SNAPSHOT
+
+
+ 21
+ 21
+ UTF-8
+
+
+
\ No newline at end of file
diff --git a/src/main/java/org/exercises/Main.java b/src/main/java/org/exercises/Main.java
new file mode 100644
index 0000000..e25115d
--- /dev/null
+++ b/src/main/java/org/exercises/Main.java
@@ -0,0 +1,16 @@
+package org.exercises;
+
+import org.exercises.arrayList.ArrList;
+
+public class Main {
+ public static void main(String[] args) {
+ ArrList arr = new ArrList();
+// arr.compareArrays();
+// arr.swapElements();
+// arr.joinTwoArrays();
+// arr.cloneArrays();
+// arr.emptyList();
+// arr.arrayCapacity();
+ arr.incressArrayListSize();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/org/exercises/arrayList/ArrList.java b/src/main/java/org/exercises/arrayList/ArrList.java
new file mode 100644
index 0000000..26386e1
--- /dev/null
+++ b/src/main/java/org/exercises/arrayList/ArrList.java
@@ -0,0 +1,273 @@
+package org.exercises.arrayList;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Random;
+import java.util.stream.Stream;
+
+public class ArrList {
+
+ public void addColor() {
+ /*
+ *Write a Java program to create an array list, add some colors (strings) and print out the collection.
+ **/
+ List colors = new ArrayList<>();
+ colors.add("Red");
+ colors.add("Blue");
+ colors.add("Purple");
+ colors.add("White");
+ colors.add("Orange");
+ System.out.println(colors);
+ }
+
+ public void listIterator() {
+ /*
+ * Write a Java program to iterate through all elements in an array list.
+ **/
+ int max = 10;
+
+ List numbers = new ArrayList<>();
+ for (int i = 0; i < max; i++) {
+ numbers.add(i);
+ }
+
+ for (int i = numbers.size() - 1; i > 0; i--) {
+ System.out.println(numbers.get(i));
+ }
+ }
+
+ public void insertFirstPosition() {
+ /*
+ * Write a Java program to insert an element into the array list at the first position.
+ **/
+ List first = new ArrayList<>();
+ first.addFirst(false);
+ System.out.println(first);
+ }
+
+ public void listRetrive () {
+ /*
+ * Write a Java program to retrieve an element (at a specified index) from a given array list.
+ */
+ List names = new ArrayList<>();
+ names.add("Guilherme");
+ names.add("Gabriel");
+ names.add("Lisboa");
+ names.add("Silva");
+ System.out.println(names.get(3));
+ }
+
+ public void updateElement() {
+ /*
+ * Write a Java program to update an array element by the given element.
+ **/
+ List numbers = new ArrayList<>();
+ for (int i = 0; i < 5; i++) {
+ numbers.add(i);
+ }
+ System.out.println(numbers);
+ numbers.set(2, 7);
+ System.out.println(numbers);
+ }
+
+ public void removeElement () {
+ /*
+ * Write a Java program to remove the third element from an array list.
+ **/
+ List names = new ArrayList<>();
+ names.add("GG");
+ names.add("LuckGG");
+ names.add("Zeca Pagodin");
+ System.out.println(names);
+ names.remove(3);
+ System.out.println(names);
+ }
+
+ public void searchElement() {
+ /*
+ * Write a Java program to search for an element in an array list.
+ **/
+ List cities = new ArrayList<>();
+ cities.add("Florianópolis");
+ cities.add("Los Angeles");
+ cities.add("Las Vegas");
+ cities.add("São Paulo");
+ cities.add("Bali");
+
+ if(cities.contains("Las Vegas")){
+ System.out.println("City found!!");
+ }else {
+ System.out.println("City not found");
+ }
+ }
+
+ public void sortElemens() {
+ /*
+ * Write a Java program to sort a given array list.
+ **/
+
+ List numbers = new ArrayList<>();
+ Random random = new Random();
+ for (int i = 0; i < 10; i++) {
+ numbers.add(random.nextInt(), 1000);
+ }
+ System.out.println(numbers);
+ Collections.sort(numbers);
+ System.out.println(numbers);
+ }
+
+ public void copyArray() {
+ /*
+ * Write a Java program to copy one array list into another
+ **/
+ List numbers = new ArrayList<>();
+ for (int i = 0; i < 10; i ++) {
+ numbers.add(i);
+ }
+ List arr2 = new ArrayList<>();
+ Collections.copy(arr2, numbers);
+ System.out.println(arr2);
+ }
+
+ public void shuffleArray() {
+ /*
+ * Write a Java program to shuffle elements in an array list.
+ **/
+ List numbers = new ArrayList<>();
+ numbers.add(1);
+ numbers.add(2);
+ numbers.add(3);
+ numbers.add(4);
+ System.out.println("Before shuffle: " +numbers);
+ Collections.shuffle(numbers);
+ System.out.println("After shuffle: " +numbers);
+ }
+ public void reverseArray () {
+ /*
+ * Write a Java program to reverse elements in an array list.
+ **/
+ List numbers = new ArrayList<>();
+ for (int i = 0; i < 5; i++) {
+ numbers.add(i);
+ }
+ System.out.println("Before Reverse: " + numbers);
+ numbers.reversed();
+ System.out.println("After Reverse: " + numbers);
+ }
+
+ public void extract () {
+ /*
+ * Write a Java program to extract a portion of an array list.
+ **/
+
+ List numbers = new ArrayList<>();
+ for (int i = 0; i < 12; i++) {
+ numbers.add(i);
+ }
+ System.out.println(numbers);
+ List numbers2 = numbers.subList(0,6);
+ System.out.println(numbers2);
+ }
+
+ public void compareArrays() {
+ /*
+ * Write a Java program to compare two array lists.
+ **/
+ List numbers = new ArrayList<>();
+ List numbers2 = new ArrayList<>();
+ for (int i = 0; i < 10; i++) {
+ numbers.add(i);
+ numbers2.add(i * 3);
+ }
+ System.out.println(numbers.equals(numbers2));
+ }
+
+ public void swapElements() {
+ /*
+ * Write a Java program that swaps two elements in an array list.
+ **/
+
+ List numbers = new ArrayList<>();
+ for (int i = 0; i < 100; i++) {
+ numbers.add((i * 4) / 2);
+ }
+ System.out.println(numbers);
+ Collections.swap(numbers, 0, 99);
+ System.out.println(numbers);
+ }
+
+ public void joinTwoArrays() {
+ /*
+ * Write a Java program to join two array lists.
+ **/
+
+ List listOne = new ArrayList<>();
+ List listTwo = new ArrayList<>();
+ for (int i = 0; i < 10; i++) {
+ listOne.add(i);
+ listTwo.add(i * 2);
+ }
+ List newList = Stream.concat(listOne.stream(), listTwo.stream()).toList();
+ System.out.println(newList);
+ }
+
+ public void cloneArrays() {
+ /*
+ * Write a Java program to clone an array list to another array list.
+ **/
+
+ List numbers = new ArrayList<>();
+ for (int i = 0; i < 6; i++) {
+ numbers.add(i);
+ }
+ List cloneNumbers = new ArrayList<>();
+ cloneNumbers = (ArrayList)numbers;
+ System.out.println(cloneNumbers);
+ }
+
+ public void emptyList () {
+ /*
+ * Write a Java program to empty an array list.
+ * */
+
+ List numbers = new ArrayList<>();
+ for (int i = 0; i < 10; i++) {
+ numbers.add(i);
+ }
+ System.out.println(numbers);
+ numbers.subList(0, numbers.size() ).clear();
+// numbers.removeAll(numbers);
+ System.out.println(numbers);
+ }
+
+ public void isEmptyList() {
+ /*
+ * Write a Java program to test whether an array list is empty or not
+ * */
+ List names = new ArrayList<>();
+ names.add("Gui");
+ names.add("Fael");
+ names.add("Gi");
+
+ if(names.isEmpty()) {
+ System.out.println("Lista Vazia");
+ }
+ System.out.println("Lista não vazia");
+ }
+
+ public void arrayCapacity () {
+ /*
+ * Write a Java program for trimming the capacity of an array list.
+ * */
+
+ List numbers = new ArrayList<>();
+ for (int i = 0; i < 10; i++) {
+ numbers.add(i);
+ }
+ numbers.subList(0, numbers.size() / 2);
+ System.out.println(numbers);
+ }
+
+}
diff --git a/src/test/java/ArrListTest.java b/src/test/java/ArrListTest.java
new file mode 100644
index 0000000..8662177
--- /dev/null
+++ b/src/test/java/ArrListTest.java
@@ -0,0 +1,2 @@
+public class ArrListTest {
+}