☕ JAVA 131

[JAVA]java.util.function 패키지

시작 전 이 포스트에 나오는 람다식과 함수형 인터페이스가 무엇인 지 모르겠다면❓2024.12.11 - [💬 프로그래밍 표현식] - [Lambda]람다식2024.12.11 - [💬 프로그래밍 표현식] - [Lambda]함수형 인터페이스 FunctionalInterface  java.util.function: 자주 사용되는 다양한 함수형 인터페이스 모음.함수형 인터페이스메서드설명 java.lang.Runnablevoid run()매개변수❌ 반환 ❌SupplierT get()매개변수❌ 반환⭕Consumervoid accept(T t)매개변수⭕ 반환 ❌FunctionR apply(T t)매개변수⭕ 반환 ⭕ .일반적인 함수.Predicateboolean test(T t)매개변수⭕ boolean반환 ⭕   Bi..

[JAVA]@Annotation 만들기

@Annotation이란?2024.11.29 - [☕ 자바 JAVA/☕ 개념지식] - [JAVA]@Annotation 종류와 사용법  정의하기@interface 어노테이션명 {타입 요소이름();} 어노테이션 메서드는 ()는 있지만 매개변수가 없는 추상 메서드이다.→ 어노테이션을 클래스에 사용할 때 요소의 값을 지정한다.요소에 순서는 없다.어노테이션 이름은 유일해야 한다.(중복시 java.lang.NoSuchMethodError 발생)※ Annotation 요소 규칙○ 요소 타입은 기본형, String, enum, annotation, Class만 허용된다.○ 괄호() 안에 매개변수를 선언할 수 없다.○ Exception 선언 불가.○ 타입 매개변수 정의 불가능.  default 지정 가능→ 값을 지정하..

[JAVA]@Annotation 종류와 사용법

Annotation@: 주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보 제공.  이전에는 코드에 대한 설명을 따로 문서파일로 만들었었다. 코드를 변경할 때마다 문서는 수정하지 않으면서 내용의 불일치가 생겼다. 그래서 문서에 적던 내용을 코드에 적기 시작한 게 바로 어노테이션이다. 표준 어노테이션설명@Override 컴파일러에게 오버라이딩하는 메서드라는 것을 알린다.@Deprecated앞으로 사용하지 않을 것을 권장하는 대상에 붙인다.@SuppressWarnings컴파일러의 특정 경고메시지가 나타나지 않게 해준다.(JDK1.7)@FunctionalInterface함수형 인터페이스라는 것을 알린다.(JDK1.8)@Nativenative메서드에서 참조되는 상수 앞에 붙인다.(JDK1.8) 표준 ..

[JAVA]enum

enum 열거형이름 {상수명1, 상수명2, ...}: 관련된 상수들을 순서대로 묶어놓은 열거형.   💡 원래 변수는 소문자로 시작하지만 enum은 타입처럼 사용하기 때문에 대문자로 시작한다.   각 요소는 객체이다.     특징  요소의 값이 같은 지 확인할 때에는 == 와 equals() 모두 사용할 수 있다.비교할 때에는 비교 연산자 >, 비교는 compareTo() 메서드를 사용해야 한다. (요소가 객체이므로)❗ d1.compareTo(d3) 결과가 -2인 이유는enum에서 { }안에 오른쪽에 선언된 요소의 순서가 더 크기 때문이다.{0, 1, 2, 3, ....} ❗ enum명은 어느 클래스든 중복되면 error발생. ( static 객체이기 때문에 )  switch()문에 사용할 경우   메서..

[JAVA]Collections:컬렉션을 위한 메서드 모음

Objects, Arrays, Collections 모두 유용한 메서드들의 모음입니다.Arrays에서 사용하는 fill(), copy(), sort(), binarySearch() 등 모두 Collections의 메서드와 사용법이 동일합니다. 동기화된 Collection 사용하기  변경불가 ReadOnly 컬렉션 만들기❗수정하고 나서 값을 추가하려고 하면 컴파일 상으로는 에러가 뜨지 않으나 런타임 에러가 난다.  싱글톤 컬렉션 만들기: 요소를 하나만 저장한다.( )안에 컬렉션도 아닌..요소 딱 하나 들어간다.add(), remove()를 사용했을 때 컴파일 에러는 안 뜨나, 런타임 에러로 실행이 안된다. ※ 체크드 컬렉션 만들기체크드 컬렉션은 generic이 나오기 전에 사용하던 메서드이다. (지금은 잘..

[JAVA]HashMap<key, value>

💡 HashtableHashMap의 구형버전이라고 보면 된다.거의 동일하나 차이점은 Hashtable은 동기화⭕, HashMap은 동기화❌라는 점이다.💡 TreeMap2024.11.25 - [☕ 자바 JAVA/☕ 변수와 자료형 Variables & Data Type] - [JAVA]TreeSetTreeSet과 동일하게 이진탐색트리를 이용한다.(TreeSet은 TreeMap을 가지고 만들어졌다.) 💡 LinkedHashMap순서를 유지하고자 할 때 사용한다.  HashMap: Map인터페이스의 대표적인 구현클래스.데이터를 key와 value 한쌍으로 저장하는 자료형.순서❌, (key 중복❌,  값 중복⭕)해싱Hashing기법을 이용하여 데이터를 저장한다.→ 데이터가 많아도 검색이 빠르다.💡 해싱 H..

[JAVA]TreeSet

TreeSet: Set인터페이스 중 탐색과 정렬에 유리한 구현클래스.중복❌이진 탐색 트리Binary search tree로 구현되었다.→ 장점 : 그래서 빠른 탐색이 빠르다.이진 트리는 모든 노드가 최대 2개의 하위 노드를 갖는다.단점 : 데이터가 많아질 수록 추가/삭제에 (비교횟수증가로) 시간이 오래 걸린다.💡 이진 탐색 트리 Binary search tree부모보다 작은 값은 왼쪽에, 큰 값은 오른쪽에 저장한다.따라서 값이 추가/삭제 될 때마다 정렬을 다시 한다.노드를 이용한다는 점에서 LinkedList와 비슷하다.2024.11.19 - [☕ 자바 JAVA/☕ 변수와 자료형 Variables & Data Type] - [JAVA]LinkedList와 QueueLinkedList의 노드는 양옆에 노..

[JAVA]반복문 for와 while

💡 반복문 Loop조건을 만족할 때까지 반복한다.  for (초기값, 조건, 증감) { code }  for ( ) 안을 살펴보겠습니다.int i = 0;→ i를 선언하고 0으로 초기화했습니다. 이 변수 i는 for문 안에서만 유효합니다.i → i가 5미만일 때까지만 { }코드 블럭을 실행합니다.i ++→ { }안의 코드가 실행될 때마다 i는 1씩 증가합니다.{ } : 위의 조건을 만족할 때까지 안의 코드를 반복합니다. 다양한 활용   💡 for문이 가장 많이 사용되는 건 배열이나 컬렉션의 값을 가져올 때입니다.   2중 for문  ❗ 3중 이상의 for문은 권장되지 않습니다. 객체의 크기가 너무 크면 과부하가 걸릴 수 있기 때문입니다. 하지만 필요하다면, 조건이 작을 때 사용할 수 있습니다.  향상..

[JAVA]HashSet

HashSet: Set인터페이스의 가장 대표적인 구현클래스.순서❌중복❌보통 set을 사용한다하면 hashSet을 말한다.순서를 유지하려면, LinkecHashSet클래스를 사용하면 된다.  생성자첫번째처럼 그냥 생성할 수도 있고()안에 Collection객체를 넣어서 ArrayList→HashSet 타입변환하면서 만들 수도 있다.(용량, 몇 퍼센트 찼을 때 용량을 두배로 늘릴 지) 지정할 수도 잇다. add(추가 값)중복된 값들은 저장되지 않았다.→ false 반환.→ 난수(random값)를 저장하기 좋다.순서가 있는 듯이 보이지만)사실상 순서도 없다.→ 정렬sort 불가. 그 외 메서드addAll(Collection c)remove(Object o)→ 지우고자 하는 값을 () 안에 적으면 된다.remo..

반응형