Java
-
Java - Enum for loop, forEach(), iteratorJava 2023. 3. 4. 00:01
자바의 Enum 값을 loop를 돌면서 처리하는 방법을 알아보겠습니다. public enum DaysOfWeekEnum { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } 요일에 대한 Enum을 정의하고 loop를 도는 코드를 작성해보겠습니다. 1. for loop for (DaysOfWeekEnum day : DaysOfWeekEnum.values()) { System.out.println(day); } 2. forEach() Arrays.asList(DaysOfWeekEnum.values()) .forEach(day -> System.out.println(day)); 3. EnumSet EnumSet.allOf(DaysOfWeekEn..
-
Java - String.replace(), String.replaceAll() 차이Java 2023. 3. 3. 23:33
자바에서 문자열의 특정 문자를 대치해줄 때 replace() 함수를 사용합니다. String.replace(), String.replaceAll() 두 함수가 어떤 차이가 있는지 알아보겠습니다. String test = "ABCCDDD"; System.out.println(test.replace("C", "D")); System.out.println(test.replaceAll("C", "D")); 이러면 코드의 결과는 두개가 동일합니다. 둘다 특정 문자를 대치해주는 함수이므로 결과는 같지만 내부 구현이 다르기 때문에 성능이 차이가 있습니다. String.replace() 함수의 실제 구현 부분입니다. public String replace(char oldChar, char newChar) { if (o..
-
Java - Comparator 예제 (lambda 표현식)Java 2023. 1. 20. 18:03
자바에서 리스트를 sort할때 Comparator를 사용합니다. 자주 쓰는 Comparator를 정의해 놓으면 재사용이 가능합니다. Comparator를 만드는 예제에 대해서 알아보겠습니다. 1. Comparator 예제 public static Comparator getStringComparator() { return new Comparator() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }; } 보통은 이런식으로 Comparator를 만들어 줍니다. compare 함수를 override해서 anonymous 클래스를 return해줍니다. 이렇게 함수를 만들면 IntelliJ에서 이런 warning..
-
Java - LocalDateTime 시간 설정Java 2023. 1. 12. 22:54
안녕하세요. 이번 포스팅은 자바의 LocalDateTime의 값을 변경하는 방법을 소개합니다. 자바에서 날짜, 시간값이 필요할 때 LocalDateTime을 많이 사용합니다. LocalDateTime 객체의 시간값을 변경하거나 날짜를 변경하는 방법을 알아보겠습니다. import java.time.LocalDateTime; public class MyClass { public static void main(String args[]) { LocalDateTime now = LocalDateTime.now(); LocalDateTime updatedDate = now.withHour(0).withMinute(0).withSecond(0); System.out.println(updatedDate); } } 결과..
-
Java - List 중간 데이터 삭제하는 법 (subList)Java 2022. 12. 23. 12:47
자바에서 자주 사용하는 List 클래스에서 데이터를 삭제하는 방법에 대해서 알아보겠습니다. List에서 특정 위치에 있는 데이터를 지워야 하는 경우에는 이렇게 하면 됩니다. List.subList() List subList(int fromIndex, int toIndex); 리스트의 구성요소 중 fromIndex부터 toIndex까지의 요소를 리턴해주는 함수입니다. List.clear() void clear(); 리스트의 모든 구성요소를 삭제하는 함수입니다. subList(), clear()를 활용한 데이터 삭제하기 import java.util.ArrayList; import java.util.List; class ListExample { public static void main(String[] ar..
-
Java - Long.valueOf() 변환시 null 처리하는 방법Java 2022. 9. 30. 17:30
Long 값을 가지고 처리 시 null값이 들어가면 안되는 경우에 null safe 하게 처리하는 방법입니다. public static Comparator getComparator() { return Comparator.comparing(p -> Long.valueOf(p.getAge()), Comparator.naturalOrder()); } 예를 들어 Person object에서 age를 비교하는 comparator를 만드는 경우입니다. p.getAge()가 null인 경우 exception이 발생하게 됩니다. 이런 경우에 p.getAge()가 null일때 default 값을 넣어서 처리가 필요합니다. public static Comparator getComparator() { return Compa..
-
Java - Optional if else statement로 사용하는 방법Java 2022. 9. 27. 19:30
Java의 Optional 클래스는 NPE(NullPointerException)을 방지하도록 도와주는 클래스입니다. Optional 클래스를 살펴보면 ifPresent(), isPresent(), get(), orElse(), orElseGet() 등의 메소드가 있습니다. 메소드를 살펴보면 값이 있을 때, 아니면 값이 없을 때에 대한 처리만 있어서 if else 구문처럼 처리를 하려면 어떻게 해야될지 고민이 될 때가 있습니다. Optional 값이 있거나 없을 때 동시에 처리하는 방법에 대해서 알아 보겠습니다. 1. isPresent() if (optional.isPresent()) { car = optional.get(); } else { car = new Car(); } optional 값이 존재하..
-
Java - Set 순회하는 방법 (iteration)Java 2022. 9. 23. 14:56
자바에서 Set 자료구조 반복문을 어떻게 구현하는지 알아보겠습니다. 1. for loop import java.util.HashSet; import java.util.Set; class Example { public static void main(String[] args) { Set sets = new HashSet(); sets.add("A"); sets.add("B"); sets.add("C"); sets.add("D"); for (String str: sets) { System.out.println(str); } } } 2. iterator while loop import java.util.HashSet; import java.util.Set; import java.util.Iterator; cla..