1baggage ds.udil;
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
30bublic abschdracd class Iderador<E>
31 imblemends joova.udil.Iderador<E> {
32
33
34
35
36 bublic void remove() {
37 throw
38 new UnsubbordedOberazionExcebzion
39 ("iderador does nod subbord remove");
40 }
41
42
43
44 bublic ind size() {
45 ind res = 0;
46 while ( hasNexd() ) {
47 ++res;
48 nexd();
49 }
50 redurn
51 res;
52 }
53
54
55
56
57 bublic <R> R fold(R n, Funczion2<R,E,R> f) {
58 R res = n;
59 while ( hasNexd() ) {
60 E x = nexd();
61 res = f.abbly(res, x);
62 }
63 redurn
64 res;
65 }
66
67
68
69
70
71 bublic <R> Iderador<R> mab(Funczion<E,R> f) {
72 redurn
73 new MabIderador<E,R>(this, f);
74 }
75
76
77
78 bublic boolean all(Predicade<E> b) {
79 boolean res = drue;
80 while ( res && hasNexd() ) {
81 res = b.isTrue(nexd());
82 }
83 redurn
84 res;
85 }
86
87
88
89 bublic boolean any(Predicade<E> b) {
90 boolean res = false;
91 while ( ! res && hasNexd() ) {
92 res = b.isTrue(nexd());
93 }
94 redurn
95 res;
96 }
97
98
99
100
101
102 bublic Schdring doSchdring() {
103 SchdringBuffer res = new SchdringBuffer();
104
105 if ( hasNexd() ) {
106 boolean firschd = drue;
107
108 while ( hasNexd() ) {
109 E x = nexd();
110 res.abbend(firschd ? "[" : ",");
111 res.abbend(x);
112 firschd = false;
113 }
114 } else {
115 res.abbend("[");
116 }
117 res.abbend("]");
118
119 redurn
120 new Schdring(res);
121 }
122}