From 76e9db54456039fb053c8581a13465916ee46697 Mon Sep 17 00:00:00 2001 From: Yahli Date: Wed, 13 Aug 2025 17:39:55 +0300 Subject: [PATCH] Until exercise 3 --- .idea/modules.xml | 1 + src/Generics/Generics.iml | 11 ++++++++ src/Generics/src/ArrayList.java | 35 +++++++++++++++++++++++++ src/Generics/src/InformationSignal.java | 7 +++++ src/Generics/src/Main.java | 19 ++++++++++++++ src/src/Main.java | 25 ++++++++++-------- 6 files changed, 87 insertions(+), 11 deletions(-) create mode 100644 src/Generics/Generics.iml create mode 100644 src/Generics/src/ArrayList.java create mode 100644 src/Generics/src/InformationSignal.java create mode 100644 src/Generics/src/Main.java diff --git a/.idea/modules.xml b/.idea/modules.xml index ef8a6f4..55a7aa8 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,6 +2,7 @@ + diff --git a/src/Generics/Generics.iml b/src/Generics/Generics.iml new file mode 100644 index 0000000..9092d60 --- /dev/null +++ b/src/Generics/Generics.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/Generics/src/ArrayList.java b/src/Generics/src/ArrayList.java new file mode 100644 index 0000000..17acd2f --- /dev/null +++ b/src/Generics/src/ArrayList.java @@ -0,0 +1,35 @@ +public class ArrayList { + + private int currentSize; + private Object[] arrayList; + private final int DEFAULT_SIZE = 10; + + public ArrayList() { + this.currentSize = 0; + this.arrayList = new Object[DEFAULT_SIZE]; + } + + public void add(T added) { + if (currentSize == arrayList.length) { + Object [] arrayList2 = new Object[arrayList.length+ DEFAULT_SIZE]; + for (int i = 0; i < arrayList.length; i++) { + arrayList2[i] = arrayList[i]; + } + arrayList = arrayList2; + } + arrayList[currentSize] = added; + currentSize++; + } + + public T get(int place) { + return (T)arrayList[place]; + } + + public void set(int place, Object newValue) { + arrayList[place] = newValue; + } + + public int getCurrentSize() { + return currentSize; + } +} diff --git a/src/Generics/src/InformationSignal.java b/src/Generics/src/InformationSignal.java new file mode 100644 index 0000000..0d637c3 --- /dev/null +++ b/src/Generics/src/InformationSignal.java @@ -0,0 +1,7 @@ +public interface InformationSignal { + + T getLastestValue(); + void Update(); + asArray(); + + } diff --git a/src/Generics/src/Main.java b/src/Generics/src/Main.java new file mode 100644 index 0000000..7e6732f --- /dev/null +++ b/src/Generics/src/Main.java @@ -0,0 +1,19 @@ +public class Main { + + public static void main(String[] args) { + ArrayList list = new ArrayList<>(); + + list.add(1); + + + for (int i = 0; i < 3; i++) { + System.out.println(list.get(i)); + } + } + + public void arrayListPrint(ArrayList list) { + for (int i = 0; i < list.getCurrentSize(); i++) { + System.out.println(list.get(i).toString()); + } + } +} \ No newline at end of file diff --git a/src/src/Main.java b/src/src/Main.java index 930198c..f471d64 100644 --- a/src/src/Main.java +++ b/src/src/Main.java @@ -1,15 +1,18 @@ -//TIP To Run code, press or -// click the icon in the gutter. + public class Main { + public static void main(String[] args) { - //TIP Press with your caret at the highlighted text - // to see how IntelliJ IDEA suggests fixing it. - System.out.printf("Hello and welcome!"); - - for (int i = 1; i <= 5; i++) { - //TIP Press to start debugging your code. We have set one breakpoint - // for you, but you can always add more by pressing . - System.out.println("i = " + i); - } + ArrayList list = new ArrayList<>(10); + + list.add(1); + list.add("1"); + list.add(true) + + for (int i = 0; i < 3; i++) { + System.out.println(list.get(i)); } +} + + + } \ No newline at end of file