ArrayList
2023. 9. 6. 11:41ㆍjava

import java.util.ArrayList;
public class Ex00ArrayListBasic {
public static void main(String[] args) {
// 배열만들기
int[] ages = new int[5];
ages[0]=20; //인덱싱 해서 데이터를 삽입했다.
//ages[5]=; <-- 컴파일 에러 , ages[5]=10; <-- 런타임 에러(실행하는 중에 문제 발생)
//ArrayList 만들기 , <E>에는 Integer <-- int 대신에, String ,Double등을 쓸수있게된다.
ArrayList<Integer> ages2 = new ArrayList<Integer>();
ages2.add(30);
ages2.add(20);
ages2.add(10);
ages2.add(15);
ages2.add(5,100); //4번째 칸이 추가 되어야 만들기 가능(공간의 크기가 온전하지 않게 접근하면 사이즈 문제 발생)
System.out.println(ages2.get(0));
System.out.println(ages2.get(1));
System.out.println(ages2.get(2));
System.out.println(ages2.get(3));
System.out.println(ages2.get(5));
//remove
ages2.remove(1); //0,1,2,3 => 1번이 삭제되고 2번의 값이 1번으로 이동함
System.out.println(ages2.get(0));
System.out.println(ages2.get(1));
System.out.println(ages2.get(2));
//set
ages2.set(1, 100);
System.out.println(ages2.get(0));
System.out.println(ages2.get(1));
System.out.println(ages2.get(2));
//size <-- 배열의 length와 비슷함
System.out.println(ages2.size());
//clear
ages2.clear();
System.out.println(ages2.size());
}
}

문제 1번 :
//1. 학생 추가기능
//2. 학생 삭제기능
//3. 학생 변경기능
import java.util.ArrayList;
import java.util.Scanner;
public class Ex01학생관리프로그램 {
public static void main(String[] args) {
//1. 학생 추가기능
//2. 학생 삭제기능
//3. 학생 변경기능
Scanner sc = new Scanner(System.in);
ArrayList<String> ages = new ArrayList<String>();
while(true) {
System.out.println("=====학생관리 프로그램=====");
System.out.println("1.학생추가 2.학생삭제 3.학생변경 4.학생목록 전체조회 5.종료");
System.out.print("번호입력 : ");
int sel = sc.nextInt();
if(sel==1) {
System.out.println("==========학생추가=============");
//원하는 위치 학생추가
System.out.print("숫자 입력 : ");
int b = sc.nextInt();
if(b==1 || b==2) {
System.out.print("이름 입력 : ");
String a = sc.next();
ages.add(b-1, a);
System.out.println("나의 위치는 : "+ages.get(b-1));
}else {//마지막 위치 학생추가
System.out.print("추가할 학생을 넣어주세여 : ");
String c=sc.next();
ages.add(b-1,c);
System.out.println("마지막 위치는 : "+ages.get(b-1));
}
}else if(sel==2) {
//선택 삭제
System.out.println("1.선택삭제 2.전체삭제 ");
int c = sc.nextInt();
if(c==1) {
System.out.print("삭제할 위치 : ");
int b=sc.nextInt();
System.out.println("삭제 : " + ages.remove(b-1));
}
//전체 삭제
else {
ages.clear();
}
}else if(sel==3) {
System.out.print("학생이름변경 : ");
String a = sc.next();
System.out.print("학생위치변경 : ");
int b=sc.nextInt();
ages.set(b-1,a);
}else if(sel==4){
System.out.print("학생목록 전체조회 : ");
int b = ages.size();
for(int i=0;i<b;i++) {
System.out.println(ages.get(i));
}
}else {
System.out.println("전체 종료");
break;
}
}
}
}
Hash Map