Java (56) 썸네일형 리스트형 Java collection 교집합 retainsAll() 에 대하여 (List, Set, 시간복잡도, 최적화) List vs Set, Time complexity 보통 2개의 다른 콜렉션 등에서 같은 것들을 찾는 등의 동작은 List 의 경우는 n^2 시간복잡도이다 (빅오) 그래서 중복이 없다면 기준이 되는 콜렉션을 Set 으로 사용하면 n 시간복잡도로 해결 할 수 있다. UUID 교집합을 골라내는 작업 중 최적화가 필요한 부분이 있었는데, List 두개를 retainAll() 을 사용해서 구하고 있었다. n^2 의 경우에 약 50만^2 정도의 연산횟수가 필요했는데 retainAll() 을 사용할 필요없이 기준을 Set 으로 해서 O(n) 으로 마칠 수 있을 것 같다는 의견을 전달했다. 최초 내 생각은 Set 을 사용하되 retainAll 에 해당하는 메서드를 만들면 된다는 말이었지만 Set, List 로 기존 .. Java TreeMap 을 이용하여 삽입 시 정렬되도록 예제 Java TreeMap 을 이용하여 삽입 시 정렬되도록 예제 TreeMap 의 경우, 생성 시 Comparator를 구현해서 넣어주어 사용한다. // Order Comparator comparator = (o1, o2) -> o1.compareTo(o2); // ReverseOrder Comparator comparator = (o1, o2) -> o2.compareTo(o1);코드 import java.util.Comparator; import java.util.Map; import java.util.TreeMap; public static void main(String[] args) { Comparator comparator = Integer::compareTo; Map map = new TreeMa.. 규칙9. equals를 재정의할 때는 반드시 hashCode도 재정의하라 / Effective Java 2/E, 이펙티브 자바 책 전체의 내용은 아래 링크 https://itdar.tistory.com/404 Effective Java 2/E, 이펙티브 자바 책 전체 Effective Java 2/E 서론 객체의 생성과 삭제 모든 객체의 공통 메서드 규칙9. equals를 재정의할 때는 반드시 hashCode도 재정의하라 클래스와 인터페이스 규칙13. 클래스와 멤버의 접근 권한은 최소화하 itdar.tistory.com 규칙9. equals를 재정의할 때는 반드시 hashCode도 재정의하라 같은 객체는 같은 해시코드 값을 가져야 한다. equals(Object) 메서드가 같다고 판정한 두 객체의 hashCode 값은 같아야 한다. equals(Object) 메서드가 다르다고 판정한 두 객체의 hashCode 값은 꼭 다를 필요.. Effective Java 2/E, 이펙티브 자바 책 핵심요약 전체 목차 Github https://github.com/itdar/TIL/blob/main/books/effective_java/effective_java.md GitHub - itdar/TIL: Today I Learned Today I Learned. Contribute to itdar/TIL development by creating an account on GitHub. github.com Effective Java 2/E 서론 객체의 생성과 삭제 모든 객체의 공통 메서드 규칙9. equals를 재정의할 때는 반드시 hashCode도 재정의하라 클래스와 인터페이스 규칙13. 클래스와 멤버의 접근 권한은 최소화하라 규칙14. public 클래스 안에는 public 필드를 두지 말고 접근자 메서드를.. Java 의 final keyword 에 관하여.. 자바의 final 키워드에 관하여.. 인터뷰에서 버벅대서 정리한다. 자바에서 final 키워드를 사용할 수 있는 곳에는, class, method, variable 에 사용할 수 있다. 사용하는 이유는? Immutable (불변) -> 따라서 쓰기가 불가하다. (read-only) 1. 클래스를 상속받을 수 없도록 만든다. 2. 메서드를 override 가 불가하도록 만든다. 3. 변수를 read-only 상수로 만든다. 가독성을 해치지 않는 범위에서 써야한다고 하는데, 개인적으로는 불변해야 하는 엔티티를 정확히 지정해주고 명시해준다는 점에서 가독성이 더 좋아지는 경우가 있다고 본다. 그리고.. 상속해서 공통으로 사용하는 변수의 경우 등, 변하지 않아야 하는 내용에 붙여서 버그를 방지할 수 있다. 요새는.. Java의 equals, == 연산자와 String의 비교, JVM의 Heap 과 Constant Pool, Stack 등.. 간략한 Java의 메모리 할당 영역을 살펴본다. 아래 그림의 JVM 윗부분 전체는 Runtime의 Data 영역에 포함된다. (Runtime Data Areas) - Stack 영역 은 함수 호출 시 각각이 Call stack에 쌓이며 함수 내에서의 변수와 포인터 등이 저장되는 영역으로, 함수 종료 시 다같이 해제되며 사라짐. - Heap 영역 은 할당되어 사용되는 것들이 메모리에 쌓이는 영역. 프로그래머가 할당/해제 관리함. C계열에서는 잘 관리하는 것이 필요하고, Java에서는 레퍼런스가 끊어진 할당 객체들이 쌓이면 Garbage Collector가 동작하여 수거하고 메모리 해제를 해준다. - Constant Pool은 Method Area(클래스 파일 정보 저장 위치)에 속하고, 상수 자료형을 저장.. Comparing Java and Kotlin with pros and cons, 자바와 코틀린 장단점 비교 Comparing Java and Kotlin with pros and cons, 자바와 코틀린 장단점 비교 Origin ( Here )원문 ( 여기 ) What is Better Java or Kotlin 자바와 코틀린 중에 뭐가 더 나은가? Beginners, Intermediates, or the experts all of them are in the same dilemma Java or the Kotlin? You have two colleges to enroll yourself, how would you pick one? You will weigh the advantages of both of them, also pick out the disadvantages of both, look forwa.. How to get image from usb camera using OpenCV in Java, 자바 openCV 이용하여 usb 카메라에서 이미지 저장, c++,영상처리,imageProcessing How to get image from usb camera/webcam using OpenCV in Java, 자바 openCV 이용하여 usb 카메라에서 이미지 저장, c++,영상처리,imageProcessing 보드와 연결된 카메라에서 OpenCV를 이용하여 이미지 캡처~ 단일 이미지 외에 여러 프레임으로 쭉 이어지는 실시간 영상 출력 방법 ( 여기 ) - 아직 //처리과정//1. VideoCapture 객체를 만들어 카메라와 연결해준다.//2. 만든 객체에서 카메라 세팅을 설정한다.//3. 찍는다.//4. 다 끝나면 할당해제 //Process//1. Make VideoCapture object and connect to usb camera//2. Set camera param to the objec.. 이전 1 2 3 4 ··· 7 다음