Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class LinkedTaskList extends AbstractTaskList {
- private Link head;
- public void add(Task task) {
- if (task == null)
- System.out.println("Can't add empty task.");
- else {
- if (head == null) {
- head = new Link(task);
- }
- Link linkTemp = new Link(task);
- Link linkCurr = head;
- if (linkCurr != null) {
- while(linkCurr.getNext() != null) {
- linkCurr = linkCurr.getNext();
- }
- linkCurr.setNext(linkTemp);
- }
- size++;
- }
- }
- public void remove(Task task) {
- if (task == null)
- System.out.println("Can't delete empty task.");
- else {
- Link linkCurr = head;
- if (head != null) {
- for (int i = 0; i < size; ++i) {
- if (task.equals(linkCurr.getData())){
- linkCurr.setNext(linkCurr.getNext().getNext());
- size--;
- break;
- }
- linkCurr = linkCurr.getNext();
- }
- }
- }
- }
- public Task getTask(int index) {
- Link linkCurr = null;
- if (head != null) {
- linkCurr = head.getNext();
- for (int i = 0; i < index; i++) {
- if (linkCurr.getNext() == null)
- return null;
- linkCurr = linkCurr.getNext();
- }
- return linkCurr.getData();
- }
- return null;
- }
- public String toString() {
- String output = "";
- if (head != null) {
- Link linkCurr = head.getNext();
- while (linkCurr != null) {
- output += PREFIX + linkCurr.getData().toString() + "\n";
- linkCurr = linkCurr.getNext();
- }
- }
- return output;
- }
- private class Link { //inner class used to create logic of the LinkedList
- Link next;
- Task data;
- public Link(Task data) {
- next = null;
- this.data = data;
- }
- public Task getData() {
- return data;
- }
- public Link getNext() {
- return next;
- }
- public void setNext(Link next) {
- this.next = next;
- }
- }
- public static void main(String[] args) {
- Task task1 = new Task("TaskOne", 20);
- task1.setActive(true);
- Task task2 = new Task("TaskTwo", 40);
- task2.setActive(true);
- Task task3 = new Task("TaskThree", 70);
- task3.setActive(true);
- Task task4 = new Task("TaskFour", 50);
- task4.setActive(true);
- Task task5 = new Task("TaskFive", 10, 100, 20);
- task5.setActive(true);
- LinkedTaskList List1 = new LinkedTaskList();
- List1.add(task1);
- List1.add(task2);
- List1.add(task3);
- List1.add(task4);
- List1.add(task5);
- System.out.println(List1.size());
- System.out.println("---------");
- System.out.println(List1);
- List1.remove(task2); // IF I DO, WHAT HAPPENS IT THAT 'task3' IS ACTUALLY GETTING DELETED!!!
- System.out.println("---------");
- System.out.println(List1);
- System.out.println(List1.size());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement