Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class GrowingArray<T> {
- private static final int INITIAL_SIZE = 10;
- private int index = 0;
- private T[] store;
- // default konstruktor
- public GrowingArray() {
- // cast zu T ; Array initialisierung
- store = (T[]) new Object[INITIAL_SIZE];
- }
- public GrowingArray(int size) {
- store = (T[]) new Object[size];
- }
- public void add(T o) {
- if (index >= store.length) {
- grow();
- }
- store[index] = o;
- index++;
- }
- private void grow() {
- T[] temp = (T[]) new Object[store.length * 2];
- for (int i = 0; i < store.length; i++) {
- temp[i] = store[i];
- }
- store = temp;
- }
- public T get(int index) {
- T res = store[index];
- if (res == null) {
- throw new IndexOutOfBoundsException();
- }
- return res;
- }
- public int size() {
- return index;
- }
- @Override
- public String toString() {
- String s = "";
- for (int i = 0; i < index; i++) {
- s += store[i] + ", ";
- }
- return s.substring(0, s.length() - 2);
- }
- public void remove(Object o) {
- }
- // Methode zum Löschen von Array Elementen
- public void delete(int x) {
- if (x > store.length) {
- System.out.println("Das zu löschende Element existiert nicht");
- return;
- }
- T[] neu = (T[]) new Object[store.length];
- for (int i = 0; i < neu.length; i++) {
- if (i < x)
- neu[i] = store[i];
- if (i > x)
- neu[i - 1] = store[i];
- }
- store = shrink(neu);
- }
- private T[] shrink(T[] array) {
- int nullcount = 0;
- for (int i = 0; i < array.length; i++) {
- if (array[i].equals(null))
- nullcount++;
- }
- if (nullcount > array.length / 2) {
- T[] neu = (T[]) new Object[array.length / 2];
- for (int i = 0; i < neu.length; i++)
- neu[i] = array[i];
- return neu;
- } else {
- return array;
- }
- }
- // Aufgabe 2
- public void clear() {
- T[] neu = (T[]) new Object[store.length];
- store = neu;
- }
- // Aufgabe 3
- public boolean contains(T o) {
- for (int i = 0; i < store.length; i++) {
- if (store[i].equals(o))
- return true;
- }
- return false;
- }
- //Aufgabe 4
- public boolean containsAll(GrowingArray a) {
- for (int i = 0; i < a.size(); i++) {
- if (!contains((T) a.get(i)))
- return false;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement