ผลต่างระหว่างรุ่นของ "01204212/codes/zooma"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(หน้าที่ถูกสร้างด้วย ': Back to 01204212 <syntaxhighlight lang="java"> public class FlexiArray<T> { public interface ItemMatcher<T> { boolean isMatc...')
 
แถว 1: แถว 1:
 
: Back to [[01204212]]
 
: Back to [[01204212]]
  
 +
== FlexiArray.java==
 
<syntaxhighlight lang="java">
 
<syntaxhighlight lang="java">
 
public class FlexiArray<T> {
 
public class FlexiArray<T> {
แถว 48: แถว 49:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== Examples of lambda expression ==

รุ่นแก้ไขเมื่อ 03:32, 25 สิงหาคม 2559

Back to 01204212

FlexiArray.java

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];
	}
}

Examples of lambda expression