Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.14 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.Arrays;
  4.  
  5. public class IntArrayList implements IntList {
  6.  
  7. private int[] arr = new int[10];
  8. private int size = 0;
  9.  
  10. @Override
  11. public void add(int element) {
  12. if (size >= arr.length) {
  13. int newSize = arr.length * 3 / 2 + 1;
  14. int[] newArr = new int[newSize];
  15. for (int i = 0; i < size; i++) {
  16. newArr[i] = arr[i];
  17. }
  18. arr = newArr;
  19. }
  20. arr[size] = element;
  21. size++;
  22. }
  23.  
  24. @Override
  25. public boolean add(int index, int element) {
  26.  
  27. if (size + 1 > arr.length) {
  28. int newSize = arr.length * 3 / 2 + 1;
  29. int[] newArr = new int[newSize];
  30. for (int i = 0; i < size; i++) {
  31. newArr[i] = arr[i];
  32. }
  33. arr = newArr;
  34. }
  35. int[] arr2 = new int[arr.length];
  36. System.arraycopy(arr, index, arr2, index + 1, size - index);
  37. arr2[index] = element;
  38. System.arraycopy(arr, 0, arr2, 0, index);
  39. arr = arr2;
  40. size++;
  41. return false;
  42. }
  43.  
  44. @Override
  45. public void clear() {
  46. int[] newArr = new int[arr.length];
  47. arr = newArr;
  48. size = 0;
  49. }
  50.  
  51. @Override
  52. public int get(int index) {
  53. return arr[index];
  54. }
  55.  
  56. @Override
  57. public boolean isEmpty() {
  58. int counter = 0;
  59. for (int i = 0; i < arr.length; i++) {
  60. if (arr[i] != 0) {
  61. counter++;
  62. }
  63. }
  64. if (counter == 0) {
  65. return true;
  66. } else {
  67. return false;
  68. }
  69. }
  70.  
  71. @Override
  72. public boolean remove(int index) {
  73. int newSize = size - index - 1;
  74. int[] newArr = new int[arr.length];
  75. System.arraycopy(arr, index + 1, newArr, index, newSize);
  76. System.arraycopy(arr, 0, newArr, 0, index);
  77. arr = newArr;
  78. size--;
  79. return false;
  80. }
  81.  
  82. @Override
  83. public boolean removeByValue(int value) {
  84. int index = 0;
  85. for (int i = 0; i < arr.length; i++) {
  86. if (arr[i] == value) {
  87. index = i;
  88. }
  89. }
  90. int newSize = size - index - 1;
  91. int[] newArr = new int[arr.length];
  92. System.arraycopy(arr, index + 1, newArr, index, newSize);
  93. System.arraycopy(arr, 0, newArr, 0, index);
  94. arr = newArr;
  95. size--;
  96. return false;
  97. }
  98.  
  99. @Override
  100. public boolean set(int index, int element) {
  101. arr[index] = element;
  102. return false;
  103. }
  104.  
  105. @Override
  106. public int size() {
  107. return size;
  108. }
  109.  
  110. @Override
  111. public IntList subList(int fromIndex, int toIndex) {
  112. int[] newArr = new int[arr.length];
  113. int newSize = toIndex - fromIndex + 1;
  114. System.arraycopy(arr, fromIndex, newArr, 0, newSize);
  115. arr = newArr;
  116. size = newSize;
  117. return null;
  118. }
  119.  
  120. @Override
  121. public int[] toArray() {
  122. int[] result = new int[size];
  123. for (int i = 0; i < size; i++) {
  124. result[i] = arr[i];
  125. }
  126. return result;
  127. }
  128.  
  129. @Override
  130. public String toString() {
  131. return Arrays.toString(toArray());
  132. }
  133.  
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement