diff --git a/README.md b/README.md
index ce069b6..04ff8e3 100644
--- a/README.md
+++ b/README.md
@@ -336,4 +336,11 @@ Once you finish the assignment, submit a URL link to your repository or your pul
```
+### My Comparison: IntArrayList vs IntVector
+
+From my implementation, here is how I see the efficiency:
+
+- **IntArrayList** is better when we want to **save memory**. Because it only grows by 50%, it doesn't take too much unnecessary space in the RAM. It is perfect for lists that don't grow very fast.
+
+- **IntVector** is better when we need to **add a lot of data quickly**. Since it doubles its size (100% growth) every time it's full, it doesn't need to resize and copy elements as often as the ArrayList. This makes it faster for very large data entries, even if it uses more memory.
diff --git a/tasks_interfaces/.gitignore b/tasks_interfaces/.gitignore
new file mode 100644
index 0000000..480bdf5
--- /dev/null
+++ b/tasks_interfaces/.gitignore
@@ -0,0 +1,39 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+.kotlin
+
+### 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/tasks_interfaces/.idea/.gitignore b/tasks_interfaces/.idea/.gitignore
new file mode 100644
index 0000000..ab1f416
--- /dev/null
+++ b/tasks_interfaces/.idea/.gitignore
@@ -0,0 +1,10 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Ignored default folder with query files
+/queries/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/tasks_interfaces/.idea/encodings.xml b/tasks_interfaces/.idea/encodings.xml
new file mode 100644
index 0000000..aa00ffa
--- /dev/null
+++ b/tasks_interfaces/.idea/encodings.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tasks_interfaces/.idea/misc.xml b/tasks_interfaces/.idea/misc.xml
new file mode 100644
index 0000000..e122dea
--- /dev/null
+++ b/tasks_interfaces/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tasks_interfaces/.idea/vcs.xml b/tasks_interfaces/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/tasks_interfaces/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tasks_interfaces/pom.xml b/tasks_interfaces/pom.xml
new file mode 100644
index 0000000..aa3b3be
--- /dev/null
+++ b/tasks_interfaces/pom.xml
@@ -0,0 +1,17 @@
+
+
+ 4.0.0
+
+ org.example
+ tasks_interfaces
+ 1.0-SNAPSHOT
+
+
+ 23
+ 23
+ UTF-8
+
+
+
\ No newline at end of file
diff --git a/tasks_interfaces/src/bigdecimal_operations/BigDecimalOperations.java b/tasks_interfaces/src/bigdecimal_operations/BigDecimalOperations.java
new file mode 100644
index 0000000..a9f25ca
--- /dev/null
+++ b/tasks_interfaces/src/bigdecimal_operations/BigDecimalOperations.java
@@ -0,0 +1,14 @@
+package bigdecimal_operations;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+
+public class BigDecimalOperations {
+
+ public static double roundingMethod(BigDecimal number){
+ return number.setScale(2, RoundingMode.HALF_UP).doubleValue();
+ }
+
+ public static double signReverse(BigDecimal number){
+ return number.negate().setScale(1, RoundingMode.HALF_UP).doubleValue();
+ }
+}
\ No newline at end of file
diff --git a/tasks_interfaces/src/car_inventory/Car.java b/tasks_interfaces/src/car_inventory/Car.java
new file mode 100644
index 0000000..f800331
--- /dev/null
+++ b/tasks_interfaces/src/car_inventory/Car.java
@@ -0,0 +1,39 @@
+package car_inventory;
+
+public abstract class Car{
+ private String vinNumber;
+ private String make;
+ private String model;
+ private int mileAge;
+ public abstract String getInfo();
+ public Car(String vinNumber, String make, String model, int mileAge){
+ this.vinNumber=vinNumber;
+ this.make=make;
+ this.model=model;
+ this.mileAge=mileAge;
+ }
+ public String getVinNumber(){
+ return this.vinNumber;
+ }
+ public String getMake(){
+ return this.make;
+ }
+ public String getModel(){
+ return this.model;
+ }
+ public int getMileAge(){
+ return this.mileAge;
+ }
+ public void setVinNumber(String vinNumber){
+ this.vinNumber=vinNumber;
+ }
+ public void setMake(String make){
+ this.make=make;
+ }
+ public void setModel(String model){
+ this.model=model;
+ }
+ public void setMileAge(int mileAge){
+ this.mileAge=mileAge;
+ }
+}
diff --git a/tasks_interfaces/src/car_inventory/Sedan.java b/tasks_interfaces/src/car_inventory/Sedan.java
new file mode 100644
index 0000000..9bb3372
--- /dev/null
+++ b/tasks_interfaces/src/car_inventory/Sedan.java
@@ -0,0 +1,10 @@
+package car_inventory;
+ public class Sedan extends Car{
+ public Sedan(String vinNumber, String make, String model, int mileAge){
+ super( vinNumber, make, model, mileAge);
+ }
+ public String getInfo(){
+ return ("Sedan Info\n"+"Vin number is: "+getVinNumber()+", Make is: "+getMake()+", Model is: "+getModel()+", mileAge is: "+getMileAge()+"\n");
+ }
+ }
+
diff --git a/tasks_interfaces/src/car_inventory/Truck.java b/tasks_interfaces/src/car_inventory/Truck.java
new file mode 100644
index 0000000..828cbce
--- /dev/null
+++ b/tasks_interfaces/src/car_inventory/Truck.java
@@ -0,0 +1,15 @@
+package car_inventory;
+
+public class Truck extends Car{
+ double towingCapacity;
+ public Truck(String vinNumber, String make, String model, int mileAge, double towingCapacity){
+ super( vinNumber, make, model, mileAge);
+ this.towingCapacity=towingCapacity;
+ }
+ public double getTowingCapacity(){
+ return this.towingCapacity;
+ }
+ public String getInfo(){
+ return ("Truck Vehicle Info\n"+"Vin number is: "+getVinNumber()+", Make is: "+getMake()+", Model is: "+getModel()+", mileAge is: "+getMileAge()+", towingCapacity is: "+getTowingCapacity()+"\n");
+ }
+}
diff --git a/tasks_interfaces/src/car_inventory/UtilityVehicle.java b/tasks_interfaces/src/car_inventory/UtilityVehicle.java
new file mode 100644
index 0000000..4425554
--- /dev/null
+++ b/tasks_interfaces/src/car_inventory/UtilityVehicle.java
@@ -0,0 +1,16 @@
+package car_inventory;
+ public class UtilityVehicle extends Car{
+ boolean fourWheelDrive;
+ public UtilityVehicle(String vinNumber, String make, String model, int mileAge, boolean fourWheelDrive ){
+ super( vinNumber, make, model, mileAge);
+ this.fourWheelDrive=fourWheelDrive;
+
+ }
+ public boolean getFourWheelDrive(){
+ return this.fourWheelDrive;
+ }
+ public String getInfo(){
+ return ("Utility Vehicle Info\n"+"Vin number is: "+getVinNumber()+", Make is: "+getMake()+", Model is: "+getModel()+", mileAge is: "+getMileAge()+", Is four-wheel vehicle: "+getFourWheelDrive()+"\n");
+ }
+ }
+
diff --git a/tasks_interfaces/src/intlist_interface/IntArrayList.java b/tasks_interfaces/src/intlist_interface/IntArrayList.java
new file mode 100644
index 0000000..558d5e0
--- /dev/null
+++ b/tasks_interfaces/src/intlist_interface/IntArrayList.java
@@ -0,0 +1,21 @@
+package intlist_interface;
+
+public class IntArrayList implements IntList{
+ private int[] list=new int [10];
+ private int size=0;
+ public void add(int number) {
+ if (size == list.length) {
+ int newSize = size + size / 2;
+ int[] newList = new int[newSize];
+ for (int i = 0; i < list.length; i++) {
+ newList[i] = list[i];
+ }
+ this.list=newList;
+ }
+ list[size]=number;
+ size++;
+ }
+ public int get(int id){
+ return list[id];
+ }
+}
\ No newline at end of file
diff --git a/tasks_interfaces/src/intlist_interface/IntList.java b/tasks_interfaces/src/intlist_interface/IntList.java
new file mode 100644
index 0000000..fe3f507
--- /dev/null
+++ b/tasks_interfaces/src/intlist_interface/IntList.java
@@ -0,0 +1,6 @@
+package intlist_interface;
+
+public interface IntList{
+ void add(int number);
+ int get(int id);
+}
diff --git a/tasks_interfaces/src/intlist_interface/IntVector.java b/tasks_interfaces/src/intlist_interface/IntVector.java
new file mode 100644
index 0000000..f388d76
--- /dev/null
+++ b/tasks_interfaces/src/intlist_interface/IntVector.java
@@ -0,0 +1,21 @@
+package intlist_interface;
+
+public class IntVector implements IntList{
+ int[] array=new int[20];
+ int size=0;
+ public void add(int number){
+ if(size== array.length){
+ int newSize=size*2;
+ int [] newArray=new int [newSize];
+ for(int i=0; i