-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
77 lines (47 loc) · 3.2 KB
/
Solution.java
File metadata and controls
77 lines (47 loc) · 3.2 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
73
74
75
76
77
//And to them it was given that they should not kill them, but that they should be tormented five months: and their torment was as the torment of a scorpion, when he striketh a man. (Revelation 9:5)
package com.javarush.task.task35.task3509;
import java.util.*;
/*
Collections & Generics
*/
public class Solution {
public static void main(String[] args) {
}
public static <T> ArrayList<T> newArrayList(T... entries) {
ArrayList<T> list = new ArrayList<>(); //напишите тут ваш код
for (T entry : entries)
list.add(entry);
return list;
}
public static <T> HashSet<T> newHashSet(T... entries) {
HashSet<T> set = new HashSet<>(); //напишите тут ваш код
for (T entry : entries)
set.add(entry);
return set;
}
public static <K, V> HashMap<K, V> newHashMap(List<? extends K> keys, List<? extends V> values) {
if (keys.size() != values.size()) //напишите тут ваш код
throw new IllegalArgumentException();
HashMap<K, V> map = new HashMap<>();
for (int i = 0; i < keys.size(); i++) {
map.put(keys.get(i), values.get(i));
}
return map;
}
}
/*
Collections & Generics
Реализуй вспомогательныe методы в классе Solution, которые должны создавать соответствующую коллекцию и помещать туда переданные объекты.
Методы newArrayList, newHashSet параметризируй типом T.
Метод newHashMap параметризируй типами К(ключ) и V(значение). Аргументы метода newHashMap должны принимать списки, в которых содержатся наследники типов K и V.
Возвращаемые коллекции должны быть такого же типа, что и переданные в метод объекты.
Подсказка: в методе newHashMap нужно проверить чтобы списки ключей и значений совпадали по размерам, в противном случае кинь IllegalArgumentException.
Требования:
1. Метод newArrayList должен быть параметризован типом Т.
2. Метод newArrayList должен возвращать ArrayList, который содержит переданные в метод объекты.
3. Метод newHashSet должен быть параметризован типом Т.
4. Метод newHashSet должен возвращать HashSet, который содержит переданные в метод объекты.
5. Метод newHashMap должен быть параметризован типом K и V.
6. Метод newHashMap должен возвращать HashMap, который содержит переданные в метод ключи и значения.
7. Метод newHashMap должен кидать IllegalArgumentException, если списки ключей и значений не совпадают по размеру.
*/