본문 바로가기
수업시간 JAVA/문제

무한배열 응용해서 ArrayList클래스를 만들어보기

by SEOKIHOUSE 2023. 5. 18.
package practice0517무한배열연습ok;

class Factory1 {
	int[] a = new int[1];
	static int index;

	public void increase() {
		int[] b = new int[a.length+1];
		for (int i = 0; i < a.length; i++) {
			b[i] = a[i];
		}
		a = b;
	}

	public void add(int num) {
		if (index == a.length) {
			increase();
		}
		a[index] = num;
		index++;
	}

	public void remove(int indexNum) {
		if (indexNum >= a.length) {
			System.out.println("배열범위를 벗어남");
		} else {
			for (int i = indexNum; i < a.length - 1; i++) { // 1 2 3 4 5 일떄 2삭제 //1이 들어옴
				a[i] = a[i + 1];
			}
			
			index--;

			int[] b = new int[a.length-1];
			for (int i = 0; i < b.length; i++) {
				b[i] = a[i];
			}
			a = b;

		}
	}

	public int get(int indexNum) {
		return a[indexNum];
	}
}

public class makeArrayList2 {

	public static void main(String[] args) {
		Factory1 f = new Factory1();
		f.add(1);
		f.add(2);
		f.add(3);
		f.add(4);
		f.add(5);
		for (int i = 0; i < f.a.length; i++) {
			System.out.print(f.get(i) + " ");
		}
		System.out.println();
		f.remove(0);
		f.remove(3);
		f.remove(4);

		for (int i = 0; i < f.a.length; i++) {
			System.out.print(f.get(i) + " ");
		}

	}

}