본문 바로가기

728x90
반응형

java

[JAVA] 중첩된 목록을 기준으로 목록을 필터링하는 방법 List에서 특정 조건에 해당하는 것을 찾는 것은 다양한 방법이 존재합니다.원시적인 방법으로 반복문으로 처리하게 될 경우 생각보다 코드량도 많고 쓸데 없는 객체를 생성하기도 합니다.Stream API를 활용하면 보다 가독성 높고 간략한 코드로 구성 가능해집니다.이러한 부분을 알아보기 위해 다음 글을 가져왔습니다.     1. 개요Java에서 중첩된 리스트를 포함하는 리스트를 필터링하는 방법을 살펴보겠습니다. 다른 리스트를 포함하는 객체 리스트와 같은 복잡한 데이터 구조로 작업할 때는 특정 기준에 따라 특정 정보를 추출하는 것이 필수적입니다. 2. 문제 이해User 클래스와 Order 클래스가 있는 간단한 예제로 작업해 보겠습니다 . User 클래스에는 이름과 Orders 목록이 있고 , Order 클래스.. 더보기
[JAVA] 날짜 및 달력 - 레거시에서 현대적 접근 방식까지 이번 글은 날짜와 달력에 관해서 어떤 방식으로 접근할지 생각해보기 전에 살펴보면 좋은 글이라 여겨 가지고 왔다.다른 타입(숫자형, 문자형 등)들에 비해 다양한 객체로 사용할 수 있어 추후 날짜 및 달력 또는 시간까지 고민할 경우 이 글을 보고 참고하면 좋을 듯하다.   1. 개요날짜와 시간을 처리하는 것은 많은 Jav 애플리케이션의 기부족인 부분입니다. 수년에 걸쳐 Java는 날짜를 처리하는 데 있어 발전하여 개발자를 위해 일을 단순화하는 더 나은 솔루션을 도입했습니다.여기서는 먼저 Java의 날짜 역사를 살펴보겠습니다. 오래된 클래스부터 시작하여 최신 모범 사례로 넘어가면서 날짜를 자신 있게 다룰 수 있도록 하겠습니다.2. 레거시 접근 방식java.time 패키지가 나오기 전에는 Date와 Calend.. 더보기
[JAVA] 문자열에서 IP 주소 추출 1. 개요로그 파일을 처리하거나 네트워크 트래픽 데이터를 분석해야 할때, Java에서 주어진 문자열에서 IP 주소를 추출해야 하는 경우가 많습니다.먼저 IPv4 주소 형식을 살펴본 다음 Java의 정규 표현식(regex) 기능을 활용해 보겠습니다.2. IP 주소에 대하여 간략하게 알아보기IPv4 주소는 점으로 구분된 4개의 옥텟으로 구성되며, 각 옥텟은 0~255 사이의 숫자입니다.즉, 유효한 IPv4 주소는 다음과 같습니다.0.0.0.0192.168.0.8234.223.43.42255.255.255.0 다음으로, IP 주소 형태의 모든 문자 시퀸스를 식별하는 정규식 패턴을 만들어 보겠습니다. 그런 다음 이 패턴을 적용하여 문자열에서 모든 IP 주소를 추출할 수 있습니다.3. IP 주소와 일치하는 정규식.. 더보기
[JAVA] "Could not create the Java Virtual Machine" 에러 수정 방법 Java 프로그램은 JVM(Java Virtual Machine) 에서 실행되므로 애플리케이션 서버에서 모바일 폰에 이르기까지 거의 모든 곳에서 실행할 수 있습니다. Java가 제대로 설치되면 문제 없이 애플리케이션을 실행할 수 있습니다. 그러나 가끔씩 "Could not create the Java Virtual Machine"와 같은 오류가 발생합니다.이를 수정하는 방법에 대해서 살펴보겠습니다.오류 이해"Could not create the Java Virtual Machine" 오류는 Java가 프로그램이나 애플리케이션을 실행하기 위한 가상 머신(JVM)을 만들 수 없을 때 발생합니다.이는 매우 일반적인 오류 메시지입니다. JVM이 생성에 실패하지만 실제 원인은 다른 것일 수 있으며 오류 메시지에는.. 더보기
[펌] 자바는 요즘에도 여전히 중요한가? 프로그래밍에 있어 수많은 언어 중에 JAVA를 선택함에 있어 "올바른 선택일까?", "이 언어로 꾸준히 일할 수 있을까?", "요즘 트랜드는 xxx언어인데 그것을 해볼까?" 등 많은 생각을 하게 된다. 특히 필자의 경우는 프로그램에 있어 어떤 언어가 존재한지도 모른채 비전을 위한 것인 아닌 현재 국내에서 취업을 위해 선택한 언어라서 더욱 잡생각이 드는건 당연한 듯 하다.결론적으로 이 기사를 보고 Java를 선택함에 있어 조금 더 확신을 가지고 일을 하게 되었다.다음 퍼온 글을 확인해 보자.자바는 요즘에도 여전히 중요한가?Irina Mariasova2024년 7월 26일오늘날 기술이 직면한 가장 큰 과제 중 하나는 최신 개발 사항을 파악하고, 현대 비즈니스의 요구 사항에 부응하며, 사용자에게 부가가치를 지.. 더보기
[JAVA] 정규식에서 Lookahead와 Lookbehind 개요가끔씩 문자열은 정규 표현식과 일치 시키는데 어려움을 겪을 수도 있습니다. 예를 들어, 정확히 일치하고자 하는것이 무엇인지 알 수 없지만 바로 앞에 오는 것이 무엇인지, 바로 뒤에 무엇이 없는지와 같이 주변 환경을 인식할 수 있습니다. 이러한 경우에는 Lookaround assertions을 사용할 수 있습니다. 이러한 표현식은 항목이 일치하는지 여부만 나타내지만 결과에는 포함되지 않으므로 assertions라고 합니다.  Positive LookaheadJava 파일을 import를 분석하고 싶다고 가정해 보겠습니다. 먼저 import 키워드 뒤에 “static” 키워드가 오는지 확인하여 static인 import문을 찾아보겠습니다.주 표현식 import 이후 문자 “static” 그룹을 매치(일치.. 더보기
[JAVA] 배열의 정렬된 인덱스 가져오기(배열 보존) 배열 정렬은 일반적인 작업이지만, 때로는 정렬 후 요소의 원래 인덱스를 알아야 할 때가 있습니다.배열은 그대로 두고 배열을 정렬했을 때의 순서를 기존 index로 확인하고 싶을 경우 어떻게 하는지 확인해보도록 하겠습니다. 먼저 기본 정보가 다음과 같다고 가정해 보겠습니다.// 기초 정보int[] array = {40, 10, 20, 30}; 정렬하기 전에 이 배열의 요소의 index는 다음과 같습니다.index 0 : 40index 1 : 10index 2 : 20index 3 : 30이 배열을 정렬한 후, 우리는 요소의 새로운 index를 다음과 같이 얻게 하고 싶습니다.index 0 : 10 (기존 index 1)index 1 : 20 (기존 index 2)index 2 : 30 (기존 index 3.. 더보기
[JAVA] Iterator.forEachRemaining()과 Iterable.forEach()의 차이점 Iterator 및 Iterable 인터페이스는 Java에서 Collection을 다루는데 꼭 필요한 기본 구성 요소입니다.실제로 각 인터페이스는 요소를 탐색하는 방법을 제공하지만, 목적과 사용 시나리오가 다릅니다.여기에서는 Iterator.forEachReamining()과 Iterable.forEach()의 차이점을 살펴보도록 하겠습니다.Iterator.forEachRemaining() 메서드Iterrator 인터페이스는 요소 컬렉션을 순차적으로 반복하는 방법을 제공합니다. Iterator 인터페이슨의 forEachRemaining()메서드는 Java8에서 도입되었습니다.또한 반복자에서 남은 각 요소에 대해 간결하게 작업할 수 있는 방법을 제공합니다. 그리고 Consumer 함수형 인터페이스를 인수로.. 더보기

728x90
반응형