JAVA
-
[더 자바 8] 람다 표현식JAVA/JAVA8 관련 2022. 2. 6. 00:50
람다 (인자 리스트) -> (반디) //인자 // 바디(한줄일때는 바디 {} 생략 가능) Supplier get10 = ()->10; System.out.println(get10.get()); Supplier get11 = () ->{11}; System.out.println(get11.get()); 인자 리스트 인자가 없을 때 : {} 인자가 한개일 때 : (one) 또는 one 인자가 여러개 일때 : (one, two) 인자의 타입은 생략 가능, 컴파일러가 추론하지만 명시할 수도 있다. 변수 캡처(Variable Capture) 로컬 변수 캡처 final 이거나 effective final인 경우에만 참조할 수 있다. 그렇지 않을 경우 concurrency 문제가 생길 수 있어서 컴파일 방지가 된다...
-
[더 자바 8] 함수형 인터페이스와 람다 표현식JAVA/JAVA8 관련 2022. 2. 4. 00:48
1. 함수형 인터페이스 - 추상메서드가 하나만 존재하는 인터페이스 - 다른 Static / default 메서드는 있어도 됨. - @FunctionalInterface를 선언하여 함수형 인터페이스를 견고하게 관리 가능하다. (함수형 인터페이스 아닐 시에 컴파일 에러를 냄) // 함수형 인터페이스 // -> 추상 메서드를 인터페이스당 1개만 사용가능 @FunctionalInterface public interface RunSomething { void doIt(); // void doitAgain(); } 2. 익명 내부 클래스 public class Foo { public static void main(String[] args) { // 자바 8 이전에 사용하던 방식 // 익명 내부 클래스 - anoym..
-
HashMap 사용법JAVA 2022. 1. 2. 01:38
HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션입니다. Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있습니다. Map은 키와 값으로 구성된 Entry객체를 저장하는 구조를 가지고 있는 자료구조입니다. 여기서 키와 값은 모두 객체입니다. 값은 중복 저장될 수 있지만 키는 중복 저장될 수 없습니다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치됩니다. HashMap은 이름 그대로 해싱(Hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는 데 있어서 뛰어난 성능을 보입니다. - 출처 : https://coding-factory.tistory.com/556 public class HashMapLearn { public..