* 개념
컬렉션 : 다수의 데이터, 데이터 그룹
스택 : 마지막에 넣은 데이터부터 순서대로 꺼낼 수 있는 데이터 구조(LIFO).
큐 : 들어온 순서대로 데이터를 꺼낼 수 있는 데이터 구조(FIFO).
* List 계열의 대표적 2가지
// ArrayList : 데이터가 순차적으로 저장
// LinkedList : 데이터와 함께 다음 데이터 위치로 저장
* 용어 정리
Set
(1) HashSet() : 순서 제멋대로, 중복 안됨.
(2) LinkedHashSet() : 순서는 있으나, 중복 안됨.
(3) TreeSet() : 순서 오름차순으로 자동정렬, 데이터형이 다를 경우 저장 안됨!(예: 문자형, 정수형이
배열 안에 섞여있을 경우)
박싱, 오토박싱 사용법
(1) 박싱 : set.add(new Integer(123));
set.add(new Float(3.14f)); ☜ 실수형, 문자형도 가능!
(2) 오토박싱 : set.add(234); ☜ Integer형태로 자동 변환!
toString() 생략 코딩법 ☜ 자동 오버로딩이 되있기 때문
//System.out.println(set.toString());
System.out.println(set); ☜ toString 생략
Set, List의 메서드
set1.isEmpty() ☜ set1배열 안의 내용이 비었는지 확인(Boolean 형태)
set1.add() ☜ 배열 안에 들어갈 내용을 추가
-> system.out.println(set1.add(4)) 출력문 안에서 사용될때는 "Boolean" 형태가 됨.
set1.size() ☜ 배열 안의 크기를 나타냄
set1.remove() ☜ 배열 안의 내용을 지움
list.size() ☜ set과 같다 list.contains() list.indexOf() ☜ 앞에서부터 데이터 위치를 찾음 list.lastIndexOf() ☜ 뒤에서부터 찾음
list.set(바꿀내용, 교체할 내용) ☜ 배열 안에 있는 내용을 교체해줌.
List
list.set(list.indexOf("4번"), "5번"); ☜ set(): 문자 혹은 숫자를 교체해줌.
☆ 실습(1) : set 테스트
* Hashset 클래스
- add로 데이터 저장 가능
- Integer나 Float 클래스 등으로 박싱이 가능(자동변환 되므로 오토박싱 가능)
- HastSet(10,8)로 초기공간 지정 가능
* LinkedHashSet 클래스 : 순서 유지
- add로 추가, remove로 지우기, isempty()로 비었나 확인하기 등 사용 가능
* TreeSet 클래스
- 70번 : 메모리 생성시 괄호 안에 set2의 요소들을 모조리 받아올 수 있음
- 데이터형이 통일되어 있다면(예를 들어 정수형) 자동으로 정렬됨
- 정렬과 검색에 강함!
* 결과
☆ 실습(2) : List 테스트
java.util.List 인터페이스로 Import 해줘야 함.
* ArrayList 클래스
- size()로 크기 확인, contains()로 데이터의 유무 확인(true, false),
indexof()로 앞에서부터 위치 확인, lastindexof()로 뒤에서부터 위치 찾기가 가능
- 37번 : set(indexof("찾을 요소"),"바꿀 요소")으로 요소 교환 가능
- get()으로 각 요소에 접근 가능
- 47번 : 향상된 for문으로 list요소 전체를 출력 가능
* 결과
☆ 실습(3) : HashSet으로 로또 번호 출력하기
- math.random()함수를 이용해서 난수를 6개 뽑아냄
* 결과
- 할 때마다 다른 숫자가 출력됨
'N스크린하이브리드앱과정 > JAVA' 카테고리의 다른 글
[4주][5일][3~4th] JAVA: 제네릭을 이용한 데이터 처리 (0) | 2013.08.09 |
---|---|
[4주][4일][3~4th] JAVA: Map. 스택과 큐 실습 (1) | 2013.08.08 |
[4주][2일][3~4th] 예외(Exception) 클래스. SimpleDateFormat 클래스. throws (0) | 2013.08.06 |
[4주][1일][3~4th] JAVA: 중첩클래스(nested class) (0) | 2013.08.05 |
[3주][5일][3~4th] JAVA: Wrapper 클래스 (0) | 2013.08.02 |