-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
84 lines (57 loc) · 2.93 KB
/
Solution.java
File metadata and controls
84 lines (57 loc) · 2.93 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
78
79
80
81
82
83
84
//One woe is past; and, behold, there come two woes more hereafter (Revelation 9:12)
package com.javarush.task.task35.task3511;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/*
Wildcards для коллекций
*/
public class Solution {
public static void main(String[] args) {
}
public static Double sum(List<? extends Number> list) {
Double result = 0.0;
for (int i = 0; i < list.size(); i++) {
Number numb = (Number) list.get(i);
result += numb.doubleValue();
}
return result;
}
public static Double multiply(List<? extends Number> list) {
Double result = 1.0;
for (int i = 0; i < list.size(); i++) {
Number numb = (Number) list.get(i);
result *= numb.doubleValue();
}
return result;
}
public static String concat(List<?> list) {
StringBuilder builder = new StringBuilder();
for (Object obj : list) {
builder.append(obj);
}
return builder.toString();
}
public static List combine(List<? extends Collection> list) {
List result = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Collection collection = (Collection) list.get(i);
result.addAll(collection);
}
return result;
}
}
/*
Wildcards для коллекций
В классе Solution реализовано 4 метода для работы со списками:
sum - суммирует все элементы списка, в котором находятся любые числа,
multiply - перемножает между собой все элементы списка, в котором находятся любые числа,
concat - соединяет все элементы списка в одну строку,
combine - принимает на вход список любых коллекций и возвращает результирующий список, в котором находятся все элементы из списков.
Добавь для каждого входящего типа List подходящий шаблон (wildcard), чтобы метод мог принимать только те элементы, которые может обработать.
Требования:
1. Для типа параметра метода sum(List list) нужно добавить подходящий шаблон (wildcard).
2. Для типа параметра метода multiply(List list) нужно добавить подходящий шаблон (wildcard).
3. Для типа параметра метода concat(List list) нужно добавить подходящий шаблон (wildcard).
4. Для типа параметра метода combine(List list) нужно добавить подходящий шаблон (wildcard).
*/