final을 어느 시점에 적절하게 사용할 것인가? 코드 리뷰를 받던 리뷰어분께 아래와 같은 코멘트를 남겨주셨다. 이에 대해 명확히 답변하기가 어려웠다. 내 기준이 없었기 때문에이제까지 final을 개념적으로만 알고 있었지, 어느 시점에 적절하게 사용해야 하는지에 대한 그때그때 기분에 따라 적용해 왔었다. 그래서 이번기회에 다른 개발자들은 어떤 기준으로 final을 적용하고 final 적용 시 어떠한 장단점이 있는지 정리해보고자 한다.(관련 참고 링크를 공유해 주신 오유근 님, 고민할 수 있는 기회를 주신 박유진 님께 감사의 말씀드립니다.) final의 역할과 적용 예시final 키워드는 다양한 contexts에 사용할 수 있고, 각 contexts에서 다른 역할을 수행한다. 1. final cla..
우선순위 큐(PriorityQueue) 정리 3줄 요약용도 : 객체 정렬을 하기 위해(with Comparator, Comparable or 람다식)특징 1 : 정렬 조건이 여러 개일 경우 유용특징 2 : 오름차순과 내림차순 가능 1. Wrapper class에 우선순위 큐(PriortyQueue) 적용1-1. 기본형(오름차순)PriorityQueueInteger> pq = new PriorityQueue() 으로 선언, element에는 Integer뿐만 아니라 객체 사용가능비교를 위해 Queue도 같이 선언했는데, 코드 아래 출력결과를 보면 큐는 입력받은데로 출력되고, 우선순위 큐는 오름차순으로 출력되는 걸 확인할 수 있음.public class 우선순위큐 { public static voi..
3줄 요약Comparable : 정렬 대상 클래스 코드 수정이 가능할 때 객체 내부에서 사용Comparator : 정렬대상 클래스 코드 수정이 불가한 경우, 이미 정렬된 객체에 새로운 기준으로 정렬할 경우 객체 외부에서 사용람다식 : Collections, Stream 내에서 정렬하고자 할 때 사용 1. Comparable 정렬 대상 클래스에서 Comprable 를 implements 받아 compareTo(T t)를 @Override 받아 구현함compareTo(Member other)의 결과음수 : 현재 객체는 other 보다 앞에 위치 ==> (현재 객체, other)0 : 순서 변경 X양수 : 현재 객체보다 other 객체가 앞에 위치 ==> (other, 현재 객체)정렬 기준return thi..
한 개의 java 파일을 이용하여 구글과 통신해보기 1. TestCon.java 코드 작성 import java.net.Socket; public class TestCon{ public static void main(String[] args) throws Exception{ TestCon testCon = new TestCon(); System.out.println(testCon.check(args[0], Integer.parseInt(args[1]))); } public boolean check(String host, int port){ // 통신 실패시 false 출력 boolean result = false; try { (new Socket(host, port)).close(); // 통신 성공시 ..
1. Stream를 Stream로 변환 - flatMap() 스트림 요소가 배열 혹은 map() 연산 결과가 배열인 경우, map() 보단 flatmap()으로 다루는 걸 더 추천 * 아래 예시코드와 같이 별도로 있는 존재하는 문자열 배열을 하나의 배열로 받고 싶다면 flatMap을 이용하면 됨 // 예시코드 1) Stream strmArryStrm = Stream.of( new String[]{"abc", "def", "ghi"}, new String[]{"ABC", "GHI", "JKLMN"} ); // map 사용 시 반환 타입 : Stream -> Stream Stream strStrStrm = strmArryStrm.map(Arrays::stream); // flatmap 사용 시 반환 타입 :..
- Total
- Today
- Yesterday
- 취업리부트코스
- 유데미
- 회고록
- Comparator
- 챗봇
- RASA
- springboot
- thymeleaf
- 항해99
- 자바
- NLU
- 백준
- JWT
- Spring
- BFS
- Comparable
- BufferedReader
- BufferedWriter
- 글또
- script
- 취리코
- 개발자취준
- dxdy
- 코드트리
- 전자정부프레임워크
- 객체정렬
- 나만의챗봇
- 코딩테스트
- 재기동
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |