01204212/codes/zooma
รุ่นแก้ไขเมื่อ 03:31, 25 สิงหาคม 2559 โดย Jittat (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย ': Back to 01204212 <syntaxhighlight lang="java"> public class FlexiArray<T> { public interface ItemMatcher<T> { boolean isMatc...')
- Back to 01204212
public class FlexiArray<T> {
public interface ItemMatcher<T> {
boolean isMatch(T item);
}
private T[] items;
private int itemCount;
private int size;
@SuppressWarnings("unchecked")
public FlexiArray(int size) {
this.items = (T[]) new Object[size];
this.size = size;
this.itemCount = 0;
}
public int findIndex(ItemMatcher<T> matcher) {
for(int i=0; i<itemCount; i++) {
if(matcher.isMatch(items[i])) {
return i;
}
}
return -1;
}
public void insert(int i, T item) {
for(int j=itemCount - 1; j >= i; j--) {
items[j + 1] = items[j];
}
items[i] = item;
itemCount++;
}
public void remove(int i) {
for(int j = i + 1; j < itemCount; j++) {
items[j - 1] = items[j];
}
itemCount--;
}
public T get(int i) {
return items[i];
}
}