본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Java(자바)85

Java HashMap 반복문(loop) * Java HashMap for, loop, foreach, hasnext, keyset import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapLoop { public static void main(String[] agrs) { HashMap target = new HashMap(); target.put("키 - 1", "값:1"); target.put("키 - 2", "값:2"); target.put("키 - 3", "값:3"); System.out.println("----------1----------"); //1번 : Java 1.8부터 가능 target.forEach((key, v.. 2019. 7. 11.
Java List unmodifiableList (final 같은 배열) 자배 컬렉션에서 리스트에 데이터를 추가한 뒤 더 이상 데이터 삭제, 추가를 막기 위해서는 Collection에서 제공하는 unmodifiableList를 활용하면 된다. import java.util.ArrayList; import java.util.Collections; import java.util.List; public class TestUnmodifiableList { public static void main(String[] args) { List list = new ArrayList(); list.add('a'); list.add('b'); list.add('c'); list.add('d'); try { list.forEach(System.out::println); list = Collecti.. 2019. 6. 21.
Java 문자열, String 관련 기본 1. 문자열 비교 String str = "abcd"; boolean equ = str.equals("abcd"); System.out.println(equ); 2. 문자열 내용만 비교(대소문자 무시) String str = "abcd"; boolean equ = str.equalsIgnoreCase("ABCD"); System.out.println(equ); 3. 문자열 시작 여부 확인 String str = "abcd"; boolean isStart = str.startsWith("a"); System.out.println(isStart); 4. 문자열 종료여부 확인 String str = "abcd"; boolean isLast = str.endsWith("d"); System.out.println.. 2019. 6. 17.
Java synchronized, ReentrantLock, semaphore 자바에서는 동기화에 대한 지원을 여러방법으로 가능토록 하는데 대표적으로 synchronized와 semaphore를 통해서 쉽게 구현하게 해 주고 있다. synchronized는 메소드나 문장구간등에 선언하여 해당 행동이 끝날 때 까지 다른 쓰레드가 접근을 못하도록 하는데 반해 semaphore는 좀 더 유연하다 semaphore는 접근할 수 있는 쓰레드의 수와 외부에서 락 또는 릴리즈 등에 대한 컨트롤도 가능 할 수 있게 해준다. 일반적인 동기화의 예제코드이다. public class Tester { public static void main(String args[]){ Tester mm = new Tester(); try { new Thread(()->{ try { mm.looper(1234); } .. 2019. 6. 13.
Java poi 스타일 적용 및 적용이 되지 않는 경우 사용자의 요청에 의해서 엑셀파일을 만들었어야 하는데, 병합, 선 그리기 색깔 등 요구사항이 복잡하고 많았었다. 그러다 보니 여러 삽질을 통해서 다양한 오류와 방법을 습득 하였던 것 같다. 일단, 셀에서의 병합은 merge이다. HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(); CellRangeAddress address = new CellRangeAddress(시작줄,종료줄,시작행,종료행); sheet.addMergedRegion(address); 병합은 만들어진 sheet객체를 대상으로 실시되는데, 엑셀을 output하기 전 까지 코드 어디에 위치하던지 간에 잘 작동한다. 처음 이해가 안갔던 부분이 .. 2019. 5. 28.
Java 1.8 Optional 그리고 stream 자바가 버전업이 되면서 (JDK 1.8 이상) 기존의 길게 쭈욱 늘려서 썻던 코드들이 짧아지고 있다. 대표적인 기능 강화로는 3가지 정도이다. 1. 람다 표현식 : 함수형 프로그래밍 2. 스트림 API : 데이터의 추상화 3. java.time 패키지 : 새로운 날짜와 시간 API 람다는 자바스크립트에서 통상 많이 사용했었는데..예를들어 이런코드를 말한다. var array = [1,2,3,4,5]; array.forEach( arg ->{ console.log(arg); }); 그리고 스트림은 java.util.Arrays 패키지에 있는 녀석으로 자바스크립트처럼 foreach, map, filter 등의 기능을 지원 해 준다. 이름도 비슷한데..사실 기능도 비슷하다. Optional과 stream을 활.. 2019. 5. 20.