본문 바로가기

JAVA

[이것이 자바다] 15 컬렉션 프레임워크 - 기타 컬렉션

기타컬렉션

1. Properties

2. TreeSet

3. TreeMap

4. Stack

5. Queue

 

 

Properties

 

reader 문자단위로 데이터를 처리하는 stream의 일종

inputStream : 바이트 단위로 데이터 읽어들임

Reader : 캐릭터 단위로 데이터 읽어들임

(한글을 바이트 단위로 처리하면 깨질 가능성 있음)

⇒ reader로 작업

 

property 값에 영어만 있을 경우 FileInputStream 으로도 가능

 

 

 

부등호 연산자를 기준으로 왼쪽이 key, 오른쪽 value

 

결과화면

 

 


TreeSet (String tokenizer, ascending, descending)

 

 

필드에 넣고 세가지 메소드에서 사용할 scores TreeSet

process( )

StringTokenizer로 분할한 문자열 하나하나를 int 타입으로 parsing하여 scores Set에 추가

 

 

pollFirst : 첫번째값부터 하나씩 끄집어내고 제거. (size 한개씩 줄어)

 

Ascending( ), Descending( )

 

NextElement 를 사용하려면 object타입으로 반환하기 때문에 String으로 캐스팅 후 parse int

 

Descending 또 하면 ascending 됨
NavigableSet<Integer> descendingSet = scores.descendingSet();
NavigableSet<Integer> ascendingSet = descendingSet.ascendingSet();

 

마찬가지로 하나씩 끄집어내기

 

 

 


TreeMap

 

process( )

new로 객체생성 후 키와 밸류 추가

 

하나씩 찍어주기

 

asc( )

 

 

desc( )

 

반환타입 주목

 

 

Stack

 

Coin 클래스

push( )

push 매개변수 coin형

 

 

pop( )

매개변수 Coin 타입

 

내가 필드에 선언한 이거때문에 힌트가 나오는 것!

 

 

 

1~9까지 하나씩 push 하고 pop 누르면 9부터 하나씩 출력
  • 한번 pop 누르면 출력되고 그 전에 데이터는 사라진다.
  • 그 전의 데이터 유지하고 싶으면 peek( ) 메소드 사용

 

 

Queue (first in, first out)

 

Stack : 클래스

 

queue : 인터페이스
  • 인터페이스 Queue는 new queue로 만들 수 없다 ⇒ LinkedList 형태로 queue를 만든다
필드생성
  • 프로세스, 네트웍 딜레이 생기는것과 상관없이 입력된 순서대로 처리되는 형태 : Queue ex) 메신저

 

Offer( )

 

콤보박스 생성

 

combo박스와 to 텍스트필드 값 추출

 

  • getSelectedIndex : 선택된 콤보박스의 인덱스값을 반환
  • getSelectedItem : 선택된 콤보박스의 텍스트 반환

 

  • offer ( ) : 주어진 객체를 넣는다
  • poll ( ) : 객체 하나 가져오고 제거
  • peek( ) : 객체 하나 가져오고 제거 x

 

poll( )

 

실행화면

 

 

 

Notion2Tistory

 

boltlessengineer.github.io

이것이 자바다 (신용권의 Java 프로그래밍 정복)

 

이것이 자바다

『이것이 자바다』은 15년 이상 자바 언어를 교육해온 자바 전문강사의 노하우를 아낌 없이 담아낸 자바 입문서이다. 자바 입문자를 배려한 친절한 설명과 배려로 1장에 풀인원 설치 방법을 제

book.naver.com