Skip to content

Commit d5fd4c1

Browse files
authored
Merge pull request onlyliuxin#11 from GUK0/master
添加5个待测试的类
2 parents 49f8033 + 5be5c11 commit d5fd4c1

File tree

5 files changed

+593
-0
lines changed

5 files changed

+593
-0
lines changed
Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
package week1;
2+
3+
import java.util.Arrays;
4+
import java.util.Collection;
5+
import java.util.Iterator;
6+
import java.util.List;
7+
import java.util.ListIterator;
8+
9+
10+
public class ArrayList<E> implements List<E> {
11+
private int size=0,offset=10;
12+
private Object[] data = null;
13+
public ArrayList(){
14+
data = new Object[offset];
15+
}
16+
public ArrayList(int arg0){
17+
if(arg0<0) arg0=0;
18+
size = arg0;
19+
data = new Object[size];
20+
}
21+
@Override
22+
public boolean add(E arg0) {
23+
if(arg0 == null) return false;
24+
size += 1;
25+
int leng = data.length;
26+
if(size>leng){
27+
Object[] newdata = new Object[size + offset];
28+
for(int i=0;i<leng;i++){
29+
newdata[i] = data[i];
30+
}
31+
data = newdata;
32+
}
33+
data[leng] = arg0;
34+
return true;
35+
}
36+
37+
@Override
38+
public void add(int arg0, E arg1) {
39+
if( arg0>size || 0<arg0) return ;
40+
size += 1;
41+
int leng = data.length;
42+
if(size>leng){
43+
Object[] newdata = new Object[size + offset];
44+
for(int i=0;i<leng;i++){
45+
newdata[i] = data[i];
46+
}
47+
data = newdata;
48+
}
49+
for (int i=1;i<size-arg0;i++){
50+
data[size-i] = data[size-i-1];
51+
}
52+
data[arg0] = arg1;
53+
return ;
54+
}
55+
56+
@Override
57+
public boolean addAll(Collection<? extends E> arg0) {
58+
if (arg0 == null) return false;
59+
int leng = data.length,newobjnum = arg0.size(),lastsize=size;
60+
size += newobjnum;
61+
if(size>leng){
62+
Object[] newdata = new Object[size + offset];
63+
for(int i=0;i<leng;i++){
64+
newdata[i] = data[i];
65+
}
66+
data = newdata;
67+
}
68+
int i=lastsize;
69+
for(E e : arg0){
70+
data[i] = e;
71+
}
72+
return true;
73+
}
74+
75+
@Override
76+
public boolean addAll(int arg0, Collection<? extends E> arg1) {
77+
int newobjnum = arg1.size(),lastsize = size;
78+
if(arg1 == null || arg0>size+1 || 0>arg0 || newobjnum==0) return false;
79+
size += newobjnum;
80+
int leng = data.length;
81+
if(size>leng){
82+
Object[] newdata = new Object[size + offset];
83+
for(int i=0;i<leng;i++){
84+
newdata[i] = data[i];
85+
}
86+
data = newdata;
87+
}
88+
for (int i=1;i<size-arg0;i++){
89+
data[size-i] = data[size-i-newobjnum];
90+
}
91+
int i = arg0;
92+
for (E e:arg1){
93+
data[i] = e;
94+
i += 1;
95+
}
96+
return true;
97+
}
98+
99+
@Override
100+
public void clear() {
101+
size=0;
102+
data = new Object[offset];
103+
}
104+
105+
@Override
106+
public boolean contains(Object arg0) {
107+
for(Object e:data){
108+
if(e.equals(arg0)) return true;
109+
}
110+
return false;
111+
}
112+
113+
@Override
114+
public boolean containsAll(Collection<?> arg0) {
115+
for(Object o:arg0){
116+
if(!this.contains(o)) return false;
117+
}
118+
return true;
119+
}
120+
121+
@Override
122+
public E get(int arg0) {
123+
if(arg0 >-1 && arg0<this.size) return (E)data[arg0];
124+
return null;
125+
}
126+
127+
@Override
128+
public int indexOf(Object arg0) {
129+
for(int i=0;i<this.size;i++){
130+
if(this.data[i].equals(arg0)) return i;
131+
}
132+
return -1;
133+
}
134+
135+
@Override
136+
public boolean isEmpty() {
137+
return this.size==0;
138+
}
139+
@Override
140+
public int lastIndexOf(Object arg0) {
141+
for(int i=this.size-1;i>-1;i--){
142+
if(this.data[i].equals(arg0)) return i;
143+
}
144+
return -1;
145+
}
146+
147+
@Override
148+
public Iterator<E> iterator() {
149+
150+
return null;
151+
}
152+
153+
@Override
154+
public ListIterator<E> listIterator() {
155+
156+
return null;
157+
}
158+
159+
@Override
160+
public ListIterator<E> listIterator(int arg0) {
161+
162+
return null;
163+
}
164+
165+
@Override
166+
public boolean remove(Object arg0) {
167+
for(int i=0;i<this.size;i++){
168+
if(this.data[i].equals(arg0)){
169+
this.remove(i);
170+
return true;
171+
}
172+
}
173+
return false;
174+
}
175+
176+
@Override
177+
public E remove(int arg0) {
178+
if(arg0<0 ||arg0>this.size-1) return null;
179+
E res = (E)data[arg0];
180+
for(int i=arg0;i<this.size-1;i++){
181+
this.data[i] = this.data[i+1];
182+
}
183+
this.size -= 1;
184+
return res;
185+
}
186+
187+
@Override
188+
public boolean removeAll(Collection<?> arg0) {
189+
int toberemovednums = arg0.size();
190+
if(!this.containsAll(arg0)) return false;
191+
int index=0;
192+
for(int i=0;i<this.size;i++){
193+
if(arg0.contains(data[i])){
194+
this.remove(i);
195+
}
196+
}
197+
return true;
198+
}
199+
200+
@Override
201+
public boolean retainAll(Collection<?> arg0) {
202+
// what does this mean?
203+
return false;
204+
}
205+
206+
@Override
207+
public E set(int arg0, E arg1) {
208+
if(arg0<0||arg0>this.size-1) return null;
209+
this.data[arg0] = arg1;
210+
return arg1;
211+
}
212+
213+
@Override
214+
public int size() {
215+
return this.size;
216+
}
217+
218+
@Override
219+
public List<E> subList(int arg0, int arg1) {
220+
if(arg0>=arg1 || arg0<0 || arg1>this.size-1) return null;
221+
List<E> res = new ArrayList<E>();
222+
for(int i=arg0;i<arg1;i++){
223+
// ÈçºÎ»ñÈ¡¿½±´£¿
224+
225+
226+
}
227+
228+
return null;
229+
}
230+
//////////////////////////////////////////////
231+
@Override
232+
public Object[] toArray() {
233+
if(this.size == 0) return null;
234+
Object[] res = new Object[this.size];
235+
for(int i=0;i<this.size;i++){
236+
res[i] = this.data[i].getClass();
237+
}
238+
return null;
239+
}
240+
241+
@Override
242+
public <T> T[] toArray(T[] arg0) {
243+
T[] res = (T[])(new Object[this.size]);
244+
for(int i=0;i<this.size;i++){
245+
246+
}
247+
return null;
248+
}
249+
}

group12/247565311/week1/Deque.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package week1;
2+
public class Deque<E> {
3+
private LinkedList<E> data = new LinkedList<E>();
4+
private int size = 0;
5+
6+
7+
public Deque(){
8+
9+
}
10+
public Deque(int arg0){
11+
data = new LinkedList<E>(arg0);
12+
}
13+
public boolean push(E arg0){
14+
data.add(data.size(),arg0);
15+
size += 1;
16+
return true;
17+
}
18+
public E pop(){
19+
size -= 1;
20+
E res = data.get(0);
21+
data.remove(0);
22+
return res;
23+
}
24+
public E peek(){
25+
return data.get(0);
26+
}
27+
public int size(){
28+
return this.size;
29+
}
30+
public boolean isEmpty(){
31+
return this.size==0;
32+
}
33+
34+
}

group12/247565311/week1/Link.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package week1;
2+
3+
public class Link {
4+
5+
}

0 commit comments

Comments
 (0)