University stuff.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. import java.util.ArrayList;
  2. import java.util.Iterator;
  3. class Tabell<E> implements AbstraktTabell<E> {
  4. private E[] arr;
  5. private int biggestIndex = 0;
  6. Tabell(int len) {
  7. arr = (E[])(new Object[len]);
  8. }
  9. public E hent(int index) {
  10. return arr[index];
  11. }
  12. public void leggTil(E val) {
  13. settInn(++biggestIndex, val);
  14. }
  15. public boolean settInn(int index, E val) {
  16. if (index > biggestIndex)
  17. biggestIndex = index;
  18. //Expand table automatically if necessary
  19. if (index >= arr.length) {
  20. int len = arr.length;
  21. while (len <= index)
  22. len *= 2;
  23. E[] nw = (E[])(new Object[len]);
  24. for (int i = 0; i < arr.length; ++i) {
  25. nw[i] = arr[i];
  26. }
  27. arr = nw;
  28. }
  29. try {
  30. arr[index] = val;
  31. } catch (Exception ex) {
  32. return false;
  33. }
  34. return true;
  35. }
  36. class ListIterator implements Iterator<E> {
  37. private int index = 0;
  38. public boolean hasNext() {
  39. return index < arr.length;
  40. }
  41. public E next() {
  42. E val = arr[index++];
  43. while (index < arr.length && arr[index] == null)
  44. index += 1;
  45. return val;
  46. }
  47. ListIterator() {
  48. while (index < arr.length && arr[index] == null)
  49. index += 1;
  50. }
  51. };
  52. public Iterator<E> iterator() {
  53. return new ListIterator();
  54. }
  55. }