일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- rails7
- Python
- nico
- ruby
- DART
- 반다이몰
- jsp
- 디지몬
- 日本語
- springboot
- html
- javascript
- 일본어
- 자바
- Flutter
- 연습문제
- 一日一つメソッド
- Web
- Spring
- java
- vscode
- 인프런
- 비즈니스일본어
- rails
- 건담
- CSS
- 単語
- C로 시작하는 컴퓨터 프로그래밍4판
- メソッド
- 건담베이스
- Today
- Total
AR삽질러
Java - Collection Framework (List Collection) 본문
---------------------------------------------------------------------------------------------------------------------------------------------------
3. List Collection
- List컬렉션은 배열과 비슷하게 객체를 인덱스로 관리한다.
- 저장용량이 자동으로 증가하며 객체를 저장할 때 자동 인덱스가 부여된다.
- List Collection은 객체 자체를 저장하는 것이 아니라 객체의 번지를 참조한다.
Function | Method | Ex |
객체추가 | boolean add(E e) | 주어진 객체를 맨 끝에 추가한다. |
void add(int index, E element) | 주어진 인덱스에 객체를 추가한다. | |
set(int index, E element) | 주어진 인덱스에 저장된 객체를 주어진 객체로 바꾼다. | |
객체검색 | boolean contains(Object o) | 주어진 객체가 저장되어 있는지 여부를 검사한다. |
E get(int index) | 주어진 인덱스에 저장된 객체를 리턴한다. | |
isEmpty() | 컬렉션이 비어 있는지 조사한다. | |
int size() | 저장되어 있는 전체 객체 수를 리턴한다. | |
객체 삭제 | void clear() | 저장된 모든 객체를 삭제한다. |
E remove(int index) | 주어진 인덱스에 저장된 객체를 삭제한다. | |
boolean remove(Object o) | 주어진 객체를 삭제한다. |
- List Collection에 객체를 추가할 때에는 add()메소드를 사용하고 객체를 찾아올 때는 get()메소드를 사용한다. 객체삭제는 remove()메소드를 사용한다.
----------------------------------------------------------------------------------------------------------------------------------------------------
1) ArrayList<E>
- ArrayList는 List인터페이스의 대표적인 구현 클래스로 List인터페이스를 구현해 저장순서가 유지되고 중복이 허용된다.
package set;
import java.util.ArrayList;
import java.util.Iterator;
public class Array01 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
// list는 순서가 있는 자료형이다.
// boolean add(E e) 주어진 객체를 맨 끝에 추가한다.
list.add("거봉");
list.add("수박");
list.add("참외");
list.add("딸기");
list.add("사과");
// boolean remove = 주어진 객체를 삭제한다.
list.remove("사과");
// 확장for문
for(String name : list) {
System.out.println(name);
}System.out.println();
// Iterator
Iterator<String> it = list.iterator();
while(it.hasNext()) {
String name = it.next();
System.out.println(name);
}
// toString = 모든객체 출력
System.out.println(list.toString());
// void add(int index, E element) = 주어진 인덱스에 객체를 추가한다.
list.add(1, "두리안");
// E remove(int index) = 주어진 인덱스에 저장된 객체를 삭제한다.
list.remove(2);
// E get(int index) = 주어진 인덱스에 저장된 객체를 리턴한다.
for(int i = 0; i < list.size(); i++) {
String name = list.get(i);
System.out.println(name);
}
}
}
2) Iterator(반복자)
- 컬렉션 프레임워크에서 저장된 요소를 읽어오는 방법을 표준화한것(인터페이스)
- List, Map, Set계엘에는 없다. (읽기전용)
- Iterator에서 하나의 객체를 가져올때는 next()메소드를 사용한다. next()메소드를 사용하기 전에 먼저 가져올 객체가 있는 확인한후 hasNext()메소드로 객체를 가져온다.
메소드 | 설명 |
hasNext() | 가져올 객체가 있으면 true를 리턴, 없으면 false를 리턴 |
next() | 컬렉션에서 다음 하나의 객체를 가져온다. |
remove() | next()로 읽어온 요소를 삭제한다. |
package list;
import java.util.Iterator;
import java.util.LinkedList;
public class List03 {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("망고");
list.add("수박");
list.add("바나나");
list.add("딸기");
Iterator<String> iter = list.iterator(); // 반족자
// Collection에 저장된 요소들을 읽어오는 방법을 표준화 한것
// Iterator객체는 컬랙션 객체의 iterator 메소드를 호출하여 얻을 수 있다.
while(iter.hasNext()) {
// 요소가 있는지 확인후 있으면 true 없으면 false
String str = iter.next(); // 요소를 하나씩 가져온다.
System.out.println(str);
}
System.out.println();
iter = list.iterator();
// iterator는 1회성으로 필요하면 다시 객체를 얻어와야 한다.
while(iter.hasNext()) {
String str = iter.next();
System.out.println(str);
iter.remove(); // 컬렉션에 저장된 요소들을 지운다.
}
System.out.println(list.isEmpty());
}
}
----------------------------------------------------------------------------------
연습문제
String 타입의 ArrayList를 생성한 후 아는 연애인 5명 이름을 넣어보자 이름을 향상된 for문과 일반 for문으로 출력하기
package list;
import java.util.ArrayList;
public class List02 {
public static void main(String[] args) {
// String 타입의 ArrayList를 생성한 후
// 아는 연애인 5명 이름을 넣어보자
// 이름을 향상된 for문과 일반 for문으로 출력하기
ArrayList<String> list = new ArrayList<>();
list.add("김연아");
list.add("황정민");
list.add("권나라");
list.add("유재석");
list.add("전소민");
System.out.println("향상된for문");
for(String name : list) {
System.out.print(name + "\t");
}
System.out.println();
System.out.println("일반for문");
for(int i = 0; i < list.size(); i++) {
System.out.println(i +1 + " : " + list.get(i));
}
}
}
'JAVA' 카테고리의 다른 글
Java - Collection-Set연습문제 (0) | 2023.04.17 |
---|---|
Java - Collection Framework (Set Collection) (0) | 2023.04.14 |
Java - Collection Framework(List성적관리프로그램) (0) | 2023.04.13 |
Java - Collection Framework(Example) (0) | 2023.04.13 |
이것이 자바다 - 7장 확인문제(상속) (0) | 2023.02.24 |