티스토리 뷰
* 본 게시물은 HeadFirst Java 책을 공부목적으로 정리한 것 입니다.
6.자바 API를 알아봅시다.
자바에는 클래스가 수백 개 내장되어있다. 늦게 출근하고 일찍 퇴근하고 싶다면 자바API를 잘 쓰면 된다. Core Java Library는 클래스를 잔뜩 쌓아놓은 것과 비슷함.
배열만으로는 부족할 때
ArrayList 클래스는 핵심 자바 라이브러리 (API)에 들어있음.
내장된 클래스는 모두 미리 컴파일이 된 상태로 제공 됨.
*ArrayList 자주 쓰는 메소드
add(Object elem): 객체 매개변수를 목록에 추가
remove(int index): index매개변수로 지정한 위치에 있는 객체를 제거
remove(Object elem): 주어진 객체가 ArrayList에 있으면 그 객체를 제거
contains(Object elem): 객체 매개변수 elem에 매치되는 것이 있으면 “참”을 리턴
isEmpty(): 목록에 아무 원소도 없으면 “참”을 리턴합니다.
indexOf(Object elem): 객체 매개변수(elem)의 인덱스 또는 -1을 리턴
size(): 현재 목록에 들어있는 원소의 개수 리턴
get(int index): 주어진 index 매개변수 위치에 있는 객체를 리턴
*ArrayList로 할 수 있는 것
1. 새로 만듭니다.
ArrayList<Egg> myList = new ArrayList<Egg>();
> 새로운 ArrayList 객체가 힙에 만들어 짐. 아직은 비어있음.
2. 뭔가를 집어넣습니다.
Egg s = new Egg();
myList.add(s);
> 이제 그 ArrayList 객체는 Egg객체를 담기 위한 ‘상자’가 됨.
3. 다른 것을 또 집어넣습니다.
Egg b = new Egg();
myList.add(b);
> 두번째 Egg 객체를 담기위해 ArrayList 객체가 더 커짐.
4. 몇 개가 들어가 있는지 알아냅니다.
Int theSize = myList.size();
> ArrayList에는 객체가 두 개 들어있기 때문에 size() 메소드에서는 2를 리턴.
5. 어떤 것이 안에 들어있는지 찾아냅니다.
Boolean isIn = myList.contains(s);
> ArrayList에 ‘s’로 표현되는 Egg객체가 들어있기 때문에 contains()에서 참(true)를 리턴.
6. 어떤 것의 위치(즉 인덱스)를 찾아냅니다.
Int idx = myList.indexOf(b);
> ArrayList의 첫번째 인덱스는 0이고 ‘b’로 참조할 수 있는 객체는 목록에 두번째로 추가되었기 때문에 indexOf()에서 1을 리턴.
7. 비어있는지 확인합니다.
boolean empty = myList.isEmpty();
> 비어있지 않으니까 false를 리턴.
8. 목록에 들어있는 것을 제거합니다.
myList.remove(s);
API 패키지
자바 API에서 클래스는 패키지 단위로 묶여있습니다.
ex) java.lang(필수요소), java.util(자바 유틸리티), javax.swing(스윙 클래스)
API에 들어있는 클래스를 사용하려면 그 클래스가 어떤 패키지에 들어있는지 알아야 함.
자바 라이브러리에 있는 클래스는 모두 패키지에 들어있음.
패키지에는 javax.swing같은 이름이 있음. ArrayList는 각종 유틸리티 클래스를 모아놓은 java.Util이라는 패키지에 들어있음.
코드를 만들 때 API에 들어있는 클래스를 사용하려면, 그냥 자신이 직접 만든 클래스인 것처럼 처리하면 됨. 한가지 다른 점은 코드 어딘가에서 그 코드에서 사용할 라이브러리 클래스의 전체 이름, 즉 패키지명 + 클래스명을 지정해야 함.
System(System.out.println() 등), String, Math(Math.random()등)은 사실 java.lang 패키지에 들어있는 클래스.
ArrayList의 전체 이름 = java.util.ArrayList (패키지명 클래스명)
Java.lang 패키지는 import 선언문을 쓰지 않아도 자동으로 들어감.
Java.lang에 들어있는 클래스는 워낙 기초적이기 때문에.
'공부 > Java' 카테고리의 다른 글
HeadFirst Java 정리 5 (생성자와 가비지 컬렉션) (0) | 2018.08.05 |
---|---|
HeadFirst Java 정리 4 (인터페이스와 추상 클래스) (0) | 2018.08.01 |
HeadFirst Java 정리 3 (상속과 다형성) (0) | 2018.07.25 |
Java 형변환 (0) | 2018.07.24 |
HeadFirst Java 정리 1 (자바 기본) (0) | 2018.07.24 |
- Total
- Today
- Yesterday
- jsp
- Spring
- Trouble Shooti
- 소프트웨어지식
- QA
- appium error
- appium session
- Python 인식 안됨
- appium오류
- appium
- QA 자동화
- java
- 오류
- selenium오류
- Python 파일 인식
- selenium error
- SW 문제 해결
- 파이썬 파일 인식 안됨
- WebDriverException 오류
- 초보 개발자
- Python 파일 인식 불가
- oracle
- 프로젝트
- mysql
- QA 이슈 해결
- 앱피움
- Python 인식 오류
- WebDriverException error
- 프로그래밍
- SQA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |