Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions Collections2/.idea/.gitignore

This file was deleted.

16 changes: 0 additions & 16 deletions Collections2/.idea/compiler.xml

This file was deleted.

20 changes: 0 additions & 20 deletions Collections2/.idea/jarRepositories.xml

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

13 changes: 0 additions & 13 deletions Collections2/.idea/misc.xml

This file was deleted.

8 changes: 0 additions & 8 deletions Collections2/.idea/modules.xml

This file was deleted.

6 changes: 0 additions & 6 deletions Collections2/.idea/vcs.xml

This file was deleted.

2 changes: 1 addition & 1 deletion Collections2/Collections2.iml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5">
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_16">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
Expand Down
4 changes: 4 additions & 0 deletions Collections2/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,8 @@
<version>5.7.1</version>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>16</maven.compiler.source>
<maven.compiler.target>16</maven.compiler.target>
</properties>
</project>
5 changes: 5 additions & 0 deletions Collections2/src/main/java/itis/homework/base/Collection.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package itis.homework.base;

public interface Collection {
int size();
}
7 changes: 7 additions & 0 deletions Collections2/src/main/java/itis/homework/base/MyList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package itis.homework.base;

public interface MyList<T> extends Collection {
void add(T element);
void remove(int index);
T get(int index);
}

This file was deleted.

66 changes: 65 additions & 1 deletion Collections2/src/main/java/itis/homework/impl/MyLinkedList.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,71 @@
package itis.homework.impl;

import itis.homework.base.MyList;

import java.util.List;

public class MyLinkedList<T> implements List<T> {
public class MyLinkedList<T> implements MyList<T> {
static class Node {
Node next;
Object value;
public Node (Object value) {
this.value = value;
this.next = null;
}
}
int size = 0;
Node first;
Node last;

@Override
public void add(T element) {
if(first == null) {
first = new Node(element);
last = first;
} else {
last.next = new Node(element);
last = last.next;
}
size++;
}


@Override
public void remove(int index) {
if (index > size - 1 || size == 0) {
return;
}
Node preDel = null;
Node pastDel = null;
Node lastVisited = first;
int count = 0;
if (index == 0) {
first.next = null;
size--;
} else {
while(count != index - 1) {
lastVisited = lastVisited.next;
count++;
}
preDel = lastVisited;
pastDel = lastVisited.next.next;
preDel.next = pastDel;
size--;
}

}

@Override
public T get(int index) {
Node current = first;
for (int i = 0; i < index; i++) {
current = current.next;
}
return (T) current.value;
}
@Override
public int size() {
return size;
}

}
6 changes: 4 additions & 2 deletions Collections2/src/test/java/HomeWorkCheck.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import itis.homework.impl.MyArrayList;

import itis.homework.base.MyList;
import itis.homework.impl.MyLinkedList;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
Expand All @@ -13,7 +15,7 @@ static void setup() {

@Test
void check() {
List<String> list = new MyArrayList<String>();
MyList<String> list = new MyLinkedList<String>();
list.add("One");
list.add("Two");
list.add("Three");
Expand Down