본문 바로가기

Java/문법

(30)
18 - 2 장 람다식의 활용 1. 구현 메서드의 약식 표현 - 함수형 인터페이스의 객체 생성 과정에서 익명 이너 클래스를 이용한 객체 생성 방식의 축약된 표현을 제공 - 직접 추상 메서드를 구현하는 형태 - 익명 이너 클래스 내부의 구현 메서드를 단순히 축약해 표현한 형태 package OOP; interface A { //입력 x, 리턴 x void method1(); } interface B{ //입력 o, 리턴 x void method2(int a); } interface C { //입력 x, 리턴 o int method3(); } interface D { //입력 o, 리턴 o double mehtod4(int a, double b); } class OOP { public static void main(String[] arg..
18 - 1장 람다식 람다식(Lambda expression) - 기존의 객체 지향 프로그램 체계 안에서 함수형 프로그래밍을 가능하게 하는 기법 함수(function) - 기능 또는 동작을 정의한 일련의 명령 모음void abc() { //기능 및 동작 } 메서드(method) -클래스 또는 인터페이스 내에 정의된 함수 class A { void abc() { //기능 및 동작 } } - 자바에서 메서드를 사용하려면 항상 클래스 객체를 먼저 생성한 후 생성한 객체로 메서드를 호출해야함 -자바는 객체 지향 언어이므로 모든 함수는 클래스 또는 인터페이스 내부에만 존재 - 객체 지향형 프로그래밍에서 함수는 항상 클래스 내부에 메서드로 존재해야 하고, 메서드를 사용하기 위해서는 클래스의 객체를 먼저 생성한 후에 메서드를 호출해야함 ..
17 - 6장 Queue<E> 컬렉션 인터페이스 1. Queue 컬렉션 특징 -Collection
17 - 5장 Stack<E> 컬렉션 클래스 1. Stack 컬렉션의 특징 - Stack는 클래스이므로 자체적으로 객체 생성 가능 - List 컬렉션의 구현 클래스인 Vector 클래스의 자식 클래스 - 후입선출(LIFO:last in first out) 자료구조 - 나중에 입력된 데이터가 먼저 출력되는 것 - Vector의 모든 기능 포함 2.Stack의 주요 메서드 - Stack 메서드를 사용하려면 변수를 Stack 타입으로 선언 - Stack 컬렉션에 E1,E2,E3,E4의 순으로 데이터를 추가 - 데이터를 꺼내는 순서는 E4,E3,E2,E1 구분 메서드명 기능 데이터 추가 push(E item) 매개변수인 item을 Stack에 추가 데이터 확인 peek() 가장 상위에 있는 원솟값 리턴(데이터는 변화 없음) 데이터 위치 검색 search(..
17 - 4 장 Map<K,V> 컬렉션 인터페이스 1. Map 컬랙션의 특징 - Map는 별도의 인터페이스로 존재 1)Key와 Value 한 쌍으로 데이터를 저장 -Key(키)와 Value(값)의 한쌍으로 데이터 저장 - 엔트리(entry) : 한쌍의 데이터 -Map.Entry 타입으로 정의 2)Key는 중복 저장 불가, Value 중복 가능 -데이터를 구분하는 기준이 Key 값이기 때문에 Key값은 중복될 수 없음 -Value값은 Key값으로 구분해 가져올 수 있으므로 중복 허용 (Key값이 다르면 Value값이 동일하다고 해도 구분 가능) 2. Map 인터페이스의 주요 메서드 구분 메서드명 기능 데이터 추가 put(K key, V value) 입력매개변수의 (Key,Vlaue)를 Map 객체에 추가 putAll(Map
17 - 3장 Set<E> 컬렉션 인터페이스 (2) 4. LinkedHashSet 구현 클래스 - HashSet의 자식 클래스 - HashSet의 모든 기능에 데이터 간의 연결 정보만을 추가로 갖고 있는 컬렉션 (입력된 순서를 기억) - 출력 순서가 항상 입력 순서와 동일한 특징 - List처럼 중간에 데이터를 추가하거나 특정 순서에 저장된 값을 가져오는 것은 불가능 -LinkedHashSet 클래스의 주요 메서드 활용 방법 package CollectionFramework; import java.util.Arrays; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Set; public class LInkedHashSetMethod { public static voi..
17 -3 장 Set<E> 컬렉션 인터페이스 (1) 1. Set 컬렉션의 특징 - 인덱스 정보를 포함하지 않은 동일한 타입의 묶음 - 집합의 개념과 같은 컬렉션 - Set는 데이터를 구분할 수 있는 유일한 방법이 데이터 그 자체 - 동일한 데이터의 중복 저장을 허용하지 않음 - 데이터 중복 허용의 기준은 특정 데이터를 꺼낼 수 있느냐에 따라 달려있음 - List -> 중복된 데이터는 서로 다른 인덱스에 저장돼 있기 때문에 정확히 구분 가능 -Set -> 데이터가 중복됐을 때 aSet.get("다")가 가리키는 정확한 데이터를 알 수 없음 2. Set의 주요 메서드 -contains(Object o) -> 해당 Set 매개변수로 넘어온 뎅이터가 객체 내의 포함돼 있는지를 불리언값으로 리턴 -iterator() ->Iterator객체 리턴 ->Set 객체에서..
17 - 2장 List<E> 컬렉션 인터페이스 1. 배열과 리스트의 차이점 - 배열 = 저장공간의 크기가 고정적 리스트 = 저장공간의 크기가 동적으로 변화 -배열의 특징 -> 크기가 7인 문자열 배열 생성과 동시에 초기화 -> 2개의 데이터를 null값으로 바꾼이후에도 크기 7 String[] array = new String[] ["가","나","다","라","마","바","사"}; array[2] = null; array[5] = null; System.out.println(array.length); //7 - 리스트의 특징 -> 최초 리스트 객체를 생성하면 데이터가 없으므로 저장공간의 크기 0 -> 데이터 7개 추가하면 저장 공간의 크기=7 -> 2개의 데이터 삭제하면 리스트의 저장 공간 크기는 5로 줄어들고, 인덱스 번호 또한 그에 맞게 조정..