<List>
- 객체 배열 Upgrade 버전
- 자료들을 순차적으로 나열한 자료구조로 인덱스로 관리되며, 중복해서 객체 저장 가능
- 구현 클래스로 ArrayList와 Vector, LinkedList가 있음
- java.util.ArrayList : 배열 형태 List (가장 대표적인 List 자식 클래스)
(1) List는 인덱스가 있다. (0번 부터 시작)
- List에 저장된 데이터의 개수를 얻어오는 방법 : int List.size()
-> 배열명.length 대신 사용
(1) List가 비어있는지 확인하는 방법
- boolean java.util.List.isEmpty() : 비어있으면 true를 반환
(2) Student List.remove(int index)
- 리스트에서 index번째 요소를 제거
- 이 때, 제거된 요소가 반환된다
- List는 중간에 비어있는 인덱스가 없게 하기 위해서 remove() 동작 시 뒤쪽 요소를 한 칸씩 당겨온다.
1) ArrayList() 기본 생성자
- 기본 크기 10짜리 리스트 생성
- 하지만 리스트는 크기가 늘었다 줄었다 하기 때문에 큰 의미 없음
2) ArrayList(용량)
- 용량 만큼의 리스트 생성
- 너무 큰 값을 작성하면 메모리를 많이 소모함
3) private List <Student> studentList = new ArrayList<Student>();
- Student로 저장되는 타입이 제한된 리스트 생성
- Student만 저장 가능 == 모든 게 Student
- Student임을 검사할 필요가 없다
4) 제네릭스(Generics)
- 보통 제네릭이라고 함 <> 표시
- 제일 중요한 역할
- 컬렉션에 저장되는 객체 타입을 한 가지로 제한
<향상된 for문(for each문)>
- 컬렉션, 배열의 모든 요소를 순차적으로 반복 접근할 수 있는 for문
(순차적 : 0번 인덱스부터 마지막 요소까지 인덱스를 1씩 증가)
[작성법]
for(컬렉션 또는 배열에서 꺼낸 한개의 요소를 저장할 변수 : 컬렉션명 또는 배열명 ) {}
int index = 0;
for( Student std : studentList) {
std에는 for문 반복 시 마다 0, 1, 2, ... 인덱스 요소들이 한 번씩 저장됨
System.out.print(index++) + "번 : ");
System.out.println(std);
1) contains (포함)
- boolean String.contains(문자열) : String에 문자열이 포함되어 있으면 true값 반환
<split / integer.parselnt / trim>
(1) split()
- 구분자를 기준으로 문자열을 잘라 배열로 입력할 때 사용하는 메소드
(2) Integer.parseInt
- 숫자형의 문자열을 인자 값으로 받으면 해당 값을 10진수의 int형으로 반환
(3) trim()
- 앞뒤 공백을 제거한 문자열의 복사본을 반환
- static 형태의 메소드(method)는 생성할 필요 없이 바로 불러서 사용 가능
'JAVA' 카테고리의 다른 글
[JAVA] Collection - List, Set, Map (1) | 2023.06.17 |
---|---|
[JAVA] 객체, 필드, 생성자, 메모리 사용 영역 (0) | 2023.04.04 |
[JAVA] 컬렉션, 자료 구조, 배열의 문제점 (0) | 2023.03.15 |
[JAVA] 예외 처리 (1) | 2023.03.15 |
[JAVA] 인터페이스, 상속 (0) | 2023.03.13 |