컬렉션 프레임워크

moon.kick·2025년 3월 5일


  1. a컴패어러블 vs b컴퍼레이터 : 구현객체비교 인터페이스
    a- 인터페이스 구현형태, 람다형식(함수형인터페이스는 @공식으로바꿀수있다
    "()" -> 기능 (변수,변수,...)->값; (변수,...)-> {기능;return 값;})
    b- 인수두개 비교 , 인터페이스
  1. 어레이리스트 vs 링크드리스트 알아놓기
  • 속도가 좀 느리다..인덱스재정비 비용발생
  • 앞쪽에 속도가 안나면,인접 양사이드만, 끊고 연결 -> 속도가빠름

이퀄스, ==
교과서에 속도구한예제잇당

콜렉션 = 로또,, 중복없이 중복체크, 정렬로 출력

콜렉션 배우기 전...뇌구조

package ex0218.homework;

public class LottoArray {

public static void main(String[] args) {
	//난수생성 6회 45, 초기값1
	//저장하기, 중복체크 ㅁㅔ서드? : 중요메서드
	//정렬, 출력 메서드 총 4개만들기 
	//메인메서드에서 호출
	//6개 넣어놓고 중복체크하면 메서드만들어야함...불필요 >반복문넘마니돈다.
	//6개넣기전에 5가있나? > 렝쓰만큼 돌필요없음
	//바로 직접 5를 넣어서 확인해라
	//입력전에 또돌아? 불필요. 미리 바로 7넣기.
	//실제 배열방 데이터개수 찾기.------------------------->내가 체크해야되는부분 :자료구조
	//저장된개수만 체크해서 정렬할것 // >>>>배열은 객체지향.아니라 다 만들것.
	
	
	변수 lotto 어레이만듬
	변수 cnt만들고 //배열방 중복없이 숫자 들어간 개수 0으로 초기화
	
	메서드 createLottoNo //중복체크
		길이변수
		와일문(cnt>len=6)
			변수 로또넘버
			이프(this.isComporeNo(로또넘버))	
				로또[cnt] =lottoNo;
				cnt++
			}
		}
		출력 중복없당
		
		
		
	메서드 불린 isCompareNo(변수 로또넘버)   //비교시 불린형,리턴 트루 만들기 //배열방 vs 난수(로또넘버)랑 비교
		포문									
			이프문
			리턴 펄스
				}
		}
		리턴 트루
	}
		
		
	메서드 보이드 //완성6개 숫자 정렬
	로또 호출
	
	메서드 스태틱 보이드//출력 하기
	
	
	

}

}



콜렉션 배운후

package ex0218.homework;

import java.util.Set;

public class LottoTest {
//Setset = new HashSet();
Setset = new TreeSet(Collecions.reverseOder);
Random r = new Random();
final static int MAX_COUNT =6; //상수관리 유연

public LottoTest() {
	while(set.size()< MAX_COUNT ){
		int no = r.netxInt(45)+1;
		set.add(no);
		 
		//리버스오더 라는애도 있다
		
		
	}
	
	System.out.println(set);
	
}
public static void main(String[] args) {
	new LottoTest();
}

}

참조: 이것이자바다

profile
@mgkick

0개의 댓글