컬렉션 프레임워크
package ex4_list;
import java.util.ArrayList;
import java.util.List;
// 컬렉션 프레임워크 : 기존에 존재했던 자료구제 인터페이스로 설계된 기능을
// 클래스를 통해 제공하여 관리에 용이한 자료구조를 구조화 한 것
// 배열은 한번 생성하면 크기를 바꾸는것이 힘듬
// 이러한 불편을 해결하기 위해 필요한 자료구조를 미리 구현
// 기존에 있던 List, Queue, Tree 등의 자료구조를
// 인터페이스화 시켜서 묶어놓은 개념
public class Ex1_list {
public static void main(String[] args) {
// ArrayList
// List 인터페이스를 구현한 클래스중 가장 많이 사용되는 클래스
// 내부적으로 배열을 이용해 구현되어 배열과 호환성이 좋은 자료구조
// 데이터의 추가, 삭제, 수정이 가능하며 데이터의 중복도 허용된다
// index가 존재 (중요)
List<Integer> list = new ArrayList<>();
//리스트 요소 추가
list.add(100);
list.add(100);
list.add(20);
System.out.println(list);
//리스트 요소의 개수 확인
System.out.println("리스트 사이즈 : " + list.size());
//리스트 요소 한개 꺼내기
System.out.println("list[2] : " + list.get(2));
//리스트 요소 추가
list.add(1,40);
System.out.println(list);
//리스트 요소 수정
list.set(2, 60);
System.out.println(list);
//리스트 요소 제거
list.remove(0);
System.out.println(list); //뒤의 인덱스들이 한칸씩 당겨진다
//리스트 요소 전부 삭제
list.clear();
// list.removeAll();리스트 요소를 전부 삭제후 boolean형 리턴
System.out.println(list);
}
}
리스트의 요소로 객체 사용하기
package ex4_list;
public class Person {
String name;
int age;
}
package ex4_list;
import java.util.ArrayList;
import java.util.List;
public class Ex3_list {
public static void main(String[] args) {
List<Person> list = new ArrayList<>();
Person p1 = new Person();
p1.name = "홍길동";
p1.age = 30;
Person p2 = new Person();
p2.name = "김자바";
p2.age = 40;
list.add(p1);
list.add(p2);
for(Person p : list)
System.out.printf("이름 : %s\n나이 : %d\n\n",p.name, p.age);
}
}
예제
package ex5_work;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Ex1_work {
public static void main(String[] args) {
// 아이디를 계속 추가하는 코드 작성하기
// 아이디 생성 : abc
// abc
// 아이디 생성 : abc
// 중복된 아이디
// abc
// 아이디 생성 : abc2
// abc abc2
List<String> list = new ArrayList<>();
Scanner sc = new Scanner(System.in);
String id;
loop1:
while(true) {
System.out.printf("아이디 생성 : ");
id = sc.next();
for(int i=0; i<list.size(); i++) {
if(id.equals(list.get(i))){
System.out.println("중복된 아이디");
continue loop1;
}
}
list.add(id);
for(String i : list)
System.out.print(i+" ");
System.out.println();
}
}
}