-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path12-3_MergeAndHandling
More file actions
109 lines (63 loc) · 3.38 KB
/
Copy path12-3_MergeAndHandling
File metadata and controls
109 lines (63 loc) · 3.38 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package lesson12;
/*_а Даны два массива : А[n] и B[m]. Необходимо создать третий массив, в котором нужно собрать:
1. Элементы обоих массивов;
2. Общие элементы двух массивов;
3. Элементы массива A, которые не включаются в B;
4. Элементы массива B, которые не включаются в A;
5. Элементы массивов A и B, коотрые не являются общими дял них (то есть объединение результатов двух предыдущих вариантов).
*/
import java.util.ArrayList;
public class MergeAndHandling {
public static void main(String[] args) {
//_а Входащие списки aList и bList
ArrayList <Integer> aList = new ArrayList();
ArrayList <Integer> bList = new ArrayList();
//_а Исходящие списки
ArrayList <Integer> outList = new ArrayList();
ArrayList <Integer> cloneList;
//_а Наполняем aList
aList.add(15); aList.add(-8); aList.add(2); aList.add(1); aList.add(-25); aList.add(4); aList.add(9);
//_а Наполняем bList
bList.add(10); bList.add(2); bList.add(-2); bList.add(1); bList.add(-5); bList.add(17); bList.add(7); bList.add(3); bList.add(15);
//_а Показать списки
System.out.println("Первый список: \n" + aList);
//System.out.println("Количество элементов = " + aList.size());
System.out.println("Второй список: \n" + bList);
//System.out.println("Количество элементов = " + bList.size());
//_а Объединяем список bList и aList
cloneList = (ArrayList)aList.clone();
cloneList.addAll(bList);
System.out.println("1. Элементы обоих списков вместе: \n" +cloneList);
//_а Общие элементы обоих списков
cloneList = (ArrayList)aList.clone();
cloneList.retainAll(bList);
System.out.println("2. Общие элементы обоих списков: \n" + cloneList);
//_а Элементы aList, которые не включаются в bList
cloneList.clear();
for (int i=0; i<aList.size(); i++) {
if (! bList.contains(aList.get(i)))
cloneList.add(aList.get(i));
}
System.out.println("3. Элементы aList, которые не включаются в bList: \n" +cloneList);
//_а Элементы bList, которые не включаются в aList
cloneList.clear();
for (int i=0; i<bList.size(); i++) {
if (! aList.contains(bList.get(i)) )
cloneList.add(bList.get(i));
}
System.out.println("4. Элементы bList, которые не включаются в aList: \n" + cloneList);
//_а Элементы aList и bList, которые не являются общими
for (int i=0; i<aList.size(); i++) {
for (int j=0; j<bList.size(); j++) {
if (bList.get(j)==aList.get(i)) {
bList.remove(j);
aList.remove(i);
}
}
}
outList.addAll(aList);
outList.addAll(bList);
System.out.println("5. Элементы aList и bList, которые не являются общими: \n" +outList);
System.out.println();
}
}