728x90
728x90
Java2022. 12. 11. 08:31Map

Map Key와 Value값의 쌍(K, V)으로 저장 (Key값은 중복저장이 불가능하다) → 특정 Key로 value를 얻어낸다 동일한 Key로 다른 데이터를 저장 시 기존 데이터를 덮는다 요소의 저장 순서를 유지하지 않음 HashMap Key와 Value를 묶어 하나의 Entry로 저장한다 많은 양의 데이터를 검색하는 데 속도가 빠르다 null이 가능하다 데이터의 크기가 예상 범위내에 있는 경우 ( 크기지정 ), 삽입 삭제가 빈번한 경우 사용 class ExamMain { public static void main(String[] args) { Map map = new HashMap(); // key-value 삽입 map.put("a", 11); map.put("b", 22); map.put("c",..

Java2022. 12. 11. 07:51Set

Set 중복 저장 불가능 순서가 없다 (인덱스로 관리하지 않음) → 데이터 검색을 위해 iterator메서드로 iterator(반복자)를 생성하고 데이터를 가져와야 한다 HashSet 데이터 크기가 어느정도 예상되면서 삽입, 삭제가 빈번할 경우 사용하는 것이 좋다 객체를 넣으면 해당 객체의 hashcode 값을 사용하여 버킷을 찾고 해당 위치에 요소가 있는지 확인한다. 같은 객체라 판단되면 저장하지 않는다 서로 다른 객체여도 같은 hashcode값을 가질 수 있다. → 해당 버킷에 이미 값이 있다면 equals메서드를 통해 비교작업을 거친다. equals=false이면 LinkedList의 형태로 버킷에 값을 추가한다 class ExamMain { public static void main(String[..

Java2022. 12. 10. 17:15List

대표적인 클래스 종류 ArrayList LinkedList Vector Stack ArrayList 가장 많이 사용되는 컬렉션 클래스 중 하나 가변배열이며 JDK 1.2부터 제공됨 배열 공간이 가득차면 새로운 배열을 만들어 기존의 내용을 복사 (복사하는 과정에서 지연이 발생하고, 데이터가 많아질수록 카피에 대한 지연시간 증가) 중간 데이터가 삭제되면 그 앞 인덱스에 있는 데이터들이 한 칸씩 당겨져온다 특정 데이터에 빠르게 접근할 수 있다 데이터의 양이 일관적이고 삽입 및 삭제가 거의 없는경우, 접근속도가 중요할 때 사용한다 (가변배열이지만 거의 변하게 하지 않을 때 사용하는 것이 좋다) class ExamMain { public static void main(String[] args) { // 생성은 가..

Java2022. 12. 10. 16:07컬렉션 프레임워크 collection framework

collection framework 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화, 정형화된 방법을 제공하는 클래스의 집합 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 라이브러리 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현 해 놓은것 인터페이스를 사용하여 구현된다 컬렉션 프레임워크를 구성하는 모든 클래스가 제네릭으로 표현되어 있다 ※ 배열의 문제점 : 크기가 정적이면서 불변이다 (객체 삭제 시 해당 인덱스가 공백) 주요 인터페이스 인터페이스 설명 클래스 List 순서를 유지하고 저장 중복 저장 가능 (1번 인덱스에 새 값을 넣으면 기존 값은 2번으로 밀려난다) ArrayList, LinkedList, Stack Queue, Vector Se..

제네릭(Generic)
Java2022. 12. 10. 14:11제네릭(Generic)

제네릭 Generic 타입을 파라미터화 하여 실행시에 구체적으로 해당하는 타입으로 결정 → 특정(Specific)타입을 미리 지정해주는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic)타입 장점 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지 가능 따로 타입을 체크하고 변환할 필요가 없다 (캐스팅 최소화로 인한 관리수월) 타입체크를 강력하게 하여 잘못된 데이터를 일반적인 원시, 참조 타입보다 안정성 확보에 좋음 코드의 재사용성이 높아짐 사용방법 타입 설명 Type Element Key Value Number 반드시 한 글자일 필요도 없고 위의 표와 일치할 필요도 없다. Just 암묵적 규칙 선언 파라미터로 명시할 수 있는 것은 참조타입이다 사용자가 정의한 클래스도 타입으로 올 ..

Java2022. 12. 10. 14:05지역변수 전역변수 Variable

지역변수 특정 구역 내에서 생성되어 그 구역에서만 사용 public class ExamMain { static String str = "전역변수"; public static void main(String[] args) { System.out.println(str); String local = "지역변수"; System.out.println(local); method1(); } public static void method1() { System.out.println(str); //System.out.println(local); //지역변수이기에 출력 불가. 에러발생 } } // Console 전역변수 지역변수 전역변수 전역변수 멤버(인스턴스) 변수 : 클래스 영역에 선언되어, 객체가 생성될 때 마다 만들어..

Java2022. 12. 10. 13:52Call by Value & Call by Reference

값에 의한 전달 / 주소값에 의한 전달 Call by Value // count의 값을 add에 넘겨 변경시키더라도 출력값엔 변화가 없다 // ( 값을 전달받았기 때문에 ) class Add { void add(int count) { count++; } } class Counter { int count = 0; } public class ExamMain { public static void main(String[] args) { Counter counter = new Counter(); System.out.println("더하기 전 : "+counter.count); Add add1 = new Add(); add1.add(counter.count); System.out.println("더한 후 : "+c..

Java2022. 12. 10. 12:34StringBuffer

StringBuffer 문자열을 추가하거나 변경할 때 주로 사용하는 자료형 String 자료형이나 인스턴스의 경우 생성되면 변경이 불가능 → 문자열을 추가, 변경하는 과정 필요 버퍼(buffer)라는 독립적 공간을 통해 값을 변경, 추가 버퍼는 기본적으로 16개의 문자를 저장할 수 있지만 생성자를 통해 크기를 설정 가능 버퍼(Buffer) : 임시저장공간 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역 ※버퍼링을 큐(Queue)라고도 표현한다 append 문자열 추가 StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("오늘의"); stringBuffer.append(" 점심은 "); s..

728x90
728x90
image