Develop/JAVA

0602 JAVA 열두번째~

포페PostFace 2022. 6. 2. 17:43

getter/setter 빠른 생성
클래스에 변수 설정을 해준 뒤
원하는 위치에 찍고 Source를 들어가
Generate Setters and Getters를 통해
빠르게 생성할 수 있다.

System.exit(0);
반복문 안쪽의 반복문에서 강제종료를 시켜주는 코드
소괄호 안의 0은 정상적으로 프로그램이 종료됨을 
뜻한다.
모든 프로그램을 종료하기때문에 해당 블럭 밑에는
도달할 수 없게된다.

컬렉션에서의 확장 for문 사용
for(클래스 참조변수 :  반복할 컬렉션)

Vector

List의 구현 클래스
ArrayList와 같이 중복이 허용되며 데이터 타입을
지정해주어야한다.
또한 toString도 요소의 toString을 출력한다.

Enumeration 이뉴머레이션
열거된 데이터를 관리할 수 있는 자료형이다
형태는 Enumeration<데이터타입> 객체명 =
Vector의 객체명.elements();
형태로 선언한다.
Vector에서만 사용 가능하다.

hasMoreElements()
Enumeration형 데이터를 열거하는데 
뒤에 남은 데이터가 있으면 True, 
없으면 False를 반환한다.

nextElement()
자료구조의 다음 데이터를 반환하여,
 다음 객체의 레퍼런스를 얻는다.

iterator 이터레이터
반복자라는 뜻으로, 
Iterator 인터페이스는 자료를 얻어내는데 사용한다.
모든 컬렉션에서 사용 가능하다. 
형태는 
Iterator<데이터 타입> 객체명=컬렉션의 객체명.iterator();
과 같이 선언한다.

hasNext() :Enumeration의 hasMoreElements()와 같이
뒤에 남은 데이터가 있으면 True, 
없으면 False를 반환한다.
 while 루프를 통한 제어처리시 사용한다.

next() : Enumeration의 nextElement()과 같이 
자료구조의 다음 데이터를 반환하여, 
다음 객체의 레퍼런스를 얻는다.

HashSet
Set 타입의 컬렉션 중 하나.
순서가 없고 중복을 허용 안한다.
중복이 됐을 시 자동으로 제외한다.

get 메서드를 사용할 수 없다. 순서가 없기때문에.
for문 또한 확장for문만 사용가능하다.
for(데이터타입 요소:HashSet객체명)
형태로 구성할 수 있다.
iterator로 관리할 수 있다.

HashSet의 장점
중복된 데이터 값을 제외시켜 주기 때문에
이중 반복문을 사용하지 않아도
반복문 한번으로 중복되지 않은 요소를 얻을 수 있다.

HashSet을 이용한 중복 없는 난수 구하기

HashSet<Integer> hs = new HashSet<Integer>();
int count;
while(true) {
	int num = (int)(Math.random()*10)+1;
	hs.add(num); //3=>new Integer(3) autoboxing
	count++;
	if(hs.size()==6) { //count==6 번을 출력해도 중복된 값을 제외해서 실제로 저장된 값은 상이할 수 있다.
		break;				
	}
}



HashMap
Map의 구현클래스
키와 값이 쌍으로 이뤄어진 구조
순서가 없고 키는 중복이 허용되지 않고
값은 중복이 허용된다.

HashMap<키의 데이터타입,값의 데이터타입> 객체명 
=new HashMap<키의 데이터타입,값의 데이터타입>();
과 같은 형태로 선언한다.

.put(k,v) : 다른 컬렉션의 add 메소드와 같이
데이터를 입력할때 사용한다.

키가 중복된다면 앞에 추가한 값은 제외하고
마지막에 추가된 값만 남는다.

HashMap의 toString( )의 기능
저장된 데이터 키와 값을 {키=값,키=값}
형태로 출력한다. 순서는 랜덤이다.

.get(키) : 키에 해당하는 값을 호출한다.
해당 키가 없는 키라면 null로 나온다.
키 자리에 값을 넣으면 원래는 나올 수 없기에
null로 출력된다.

.containsKey(키) : 해당 키가 맵에 있는지
불리언 타입으로 데이터를 리턴한다.

.containsValue(값) : 해당 값이 맵에 있는지 
불리언 타입으로 리턴한다. 
키가 중복되어 사라진 값을 입력하면 없으므로
false로 리턴한다.

Set<키의 데이터 타입> 객체명=맵의 객체명.keySet();
Set타입의 변수에 키만 가져온다.

.remove(키) : 해당 키와 데이터를 모두 삭제한다.

'Develop > JAVA' 카테고리의 다른 글

0607 JAVA 열네번째 공부 정리~  (0) 2022.06.10
0603 JAVA 열세번째  (0) 2022.06.03
0531 JAVA 열한번째  (0) 2022.06.01
0530 JAVA 열번째!!  (0) 2022.06.01
0527 JAVA 아홉번째  (0) 2022.06.01