-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCustomTree.java
More file actions
72 lines (42 loc) · 2.19 KB
/
CustomTree.java
File metadata and controls
72 lines (42 loc) · 2.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//And when he is come, he will reprove the world of sin, and of righteousness, and of judgment (John 16:8)
package com.javarush.task.task20.task2028;
import java.io.Serializable;
import java.util.AbstractList;
import java.util.List;
/*
Построй дерево(1)
*/
public class CustomTree extends AbstractList implements Cloneable, Serializable{
public static void main(String[] args) {
List<String> list = new CustomTree();
for (int i = 1; i < 16; i++) {
list.add(String.valueOf(i));
}
//System.out.println("Expected 3, actual is " + ((CustomTree) list).getParent("8"));
list.remove("5");
//System.out.println("Expected null, actual is " + ((CustomTree) list).getParent("11"));
}
@Override
public Object get(int index) {
return null;
}
@Override
public int size() {
return 0;
}
}
/*
Построй дерево(1)
Амиго, похоже ты уже достаточно окреп. Самое время проверить свои навыки в большой задаче!
Сегодня реализуем свое дерево немного нестандартным способом(на базе AbstractList).
Вводную информацию можешь получить используя свой любимый поисковик и текст ниже.
Элементы дерева должны следовать так как показано на картинке:
http://info.javarush.ru/uploads/images/00/04/89/2014/03/21/ee9a9b.jpg
Для начала сделаем наше дерево потомком класса AbstractList с параметром типа String, а также
реализуем интерфейсы Cloneable и Serializable.
Реализацию методов get(int index) и size() пока оставь стандартной.
Требования:
1. Класс CustomTree должен поддерживать интерфейс Cloneable.
2. Класс CustomTree должен поддерживать интерфейс Serializable.
3. Класс CustomTree должен быть потомком класса AbstractList.
*/