java 기말
필기자
2025-12-25 00:36
4
0
본문
// 1번 문제
public class IntegerArrayList implements IntegerListInterface {
int numItem = 0;
Integer[] item = new Integer[10];
// 2번 문제
@Override
public IntegerListInterface add(int index, Integer x) {
if (numItem >= item.length || index < 0 || index > numItem) {
System.out.println("아이템을 입력할 수 없습니다.");
} else {
for (int i = numItem; i > index; i--) {
item[i] = item[i - 1];
}
item[index] = x;
numItem++;
}
return this;
}
// 3번 문제
@Override
public IntegerListInterface remove(int index) {
if (numItem == 0 || index < 0 || index >= numItem) {
System.out.println("아이템에 원소가 없습니다.");
} else {
for (int i = index; i < numItem - 1; i++) {
item[i] = item[i + 1];
}
item[numItem - 1] = null;
numItem--;
}
return this;
}
// 4번 문제
@Override
public Boolean removeItem(Integer x) {
boolean isRemove = false;
for (int i = 0; i < numItem; i++) {
if (item[i].equals(x)) {
remove(i);
isRemove = true;
break;
}
}
return isRemove;
}
// 5번 문제
@Override
public Integer get(int index) {
if (index < 0 || index >= numItem) {
return null;
}
return item[index];
}
// 6번 문제
@Override
public IntegerListInterface append(Integer x) {
if (numItem >= item.length) {
System.out.println("용량이 가득 찼습니다.");
} else {
item[numItem++] = x;
}
return this;
}
// 7번 문제
@Override
public IntegerListInterface set(int index, Integer x) {
if (index < 0 || index >= numItem) {
System.out.println("해당 인덱스에 원소가 없습니다.");
} else {
item[index] = x;
}
return this;
}
// 8번 문제
@Override
public int indexOf(Integer x) {
for (int i = 0; i < numItem; i++) {
if (item[i].equals(x)) {
return i;
}
}
return -1;
}
// 9번 문제
@Override
public int len() {
return numItem;
}
// 10번 문제
@Override
public boolean isEmpty() {
return numItem == 0;
}
// 11번 문제
@Override
public void clear() {
for (int i = 0; i < numItem; i++) {
item[i] = null;
}
numItem = 0;
}
// 12번 문제
@Override
public void arraySort(int type) {
for (int i = 0; i < numItem - 1; i++) {
for (int j = i + 1; j < numItem; j++) {
if ((type == 1 && item[i] > item[j]) ||
(type == 0 && item[i] < item[j])) {
int temp = item[i];
item[i] = item[j];
item[j] = temp;
}
}
}
}
// 13번 문제
@Override
public void arrayPrint() {
System.out.print("[ ");
for (int i = 0; i < numItem; i++) {
System.out.print(item[i] + " ");
}
System.out.println("]");
}
}
// 14번 문제
public interface IntegerListInterface {
IntegerListInterface add(int index, Integer x);
IntegerListInterface remove(int index);
Boolean removeItem(Integer x);
Integer get(int index);
IntegerListInterface append(Integer x);
IntegerListInterface set(int index, Integer x);
int indexOf(Integer x);
int len();
boolean isEmpty();
void clear();
void arraySort(int type);
void arrayPrint();
}
public class IntegerListMain {
// 15번 문제
public static void main(String[] args) {
IntegerListInterface ll = new IntegerArrayList();
ll.add(0, 10)
.add(1, 20)
.add(2, 30)
.remove(1)
.append(40)
.append(50)
.set(2, 99);
ll.arraySort(1);
ll.arrayPrint();
System.out.println(ll.indexOf(99));
System.out.println(ll.get(2));
System.out.println(ll.removeItem(40));
System.out.println(ll.len());
System.out.println(ll.isEmpty());
ll.clear();
ll.arrayPrint();
ll.append(5).append(1).append(3);
ll.arraySort(0);
ll.arrayPrint();
}
}
댓글목록0