Language/Java31 Java에서 파이프라인('|')을 split하는 방법 안녕하세요. 장비충 개발자 ABCD입니다. 오늘은 제가 실제로 개발을 하면서 직면한 문제를 가져왔는데요. 사수분께서 개발을 하는 과정에서 DB에 다양한 조건을 한 컬럼에 담기 위해 파이프라인('|')으로 구분을 지으신게 저에겐 큰 문제로 받아졌는데요..... 자 그럼 시작해보시죠. 저는 파이프라인으로 구분을 지어 놓은 것을 콤마(',')로 변경해야 하는 상황에 직면하게 되었어요. 우선 Java에서 replaceAll() 메서드를 통해 해당 문제를 해결하려고 했습니다. String str = " | A, B, C | | | 과자, 과일 | "; String tempStr = str.replaceAll(" | ", ""); System.out.println(tempStr); //A, B, C 과자, 과일 위.. Language/Java 2024. 3. 12. [Java] 개발자라면 알아야 할 Optional class?! Optional 이란?? 우선 Optional을 왜 사용하게 되었는지부터 알아야 한다. Optional은 NPE(NullPointerException)을 피하기 위해 사용한다. public final class Optional { //If non-null, the value; if null, indicates no value is present private final T value; ... } Optional 생성 Optional.empty() - 값이 null인 경우 Optional은 Wrapper 클래스이기 떄문에 값이 없을수도 있는데, 이때 생성하는 방법 Optional optional = Optional.empty(); Optional 클래스 내부에서 static 변수로 객체를 생성해서 미리 가.. Language/Java 2023. 4. 11. [Java] Generic, WildCard (<T>, <?>) Generic Generic은 입력되는 객체의 타입을 보장하기 위해 사용된다. 입력으로 정해진 객체 혹은 그의 부모, 자식 등으로 다양한 객체 타입을 하나의 코드로 사용할 수 있는 편리한 기능이다. Generic 타입의 매개변수 E: Element, 컬렉션의 요소를 표시할 때 사용 T: Class Type V: Value K: Key Genric의 사용 예시 // java.util.List public interface List { boolean add(E e); // 이하 코드 생략 } // 초기화시 타입에 대한 선언이 가능하다. List foos = new ArrayList(); foos.add(new Foo("bar")); WildCard Generic으로 구현된 메소드의 경우에는 선언된 타입으로만.. Language/Java 2023. 4. 10. Java 교집합, 부분집합, 차집합, 합집합 구하기 1.리스트의 교집합 List클래스의 retainAll()메서드를 사용하여 두 개의 리스트에서 교집합을 구할 수 있습니다. package edu.sample; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ArrayListDeup { public static void main(String[] args) { List arrayList = new ArrayList(); arrayList.add("C"); arrayList.add("A"); arrayList.add("B"); List arrayList2 = new ArrayList(); arrayList2.add("E"); arrayList2.add.. Language/Java 2023. 3. 24. Map을 Value값으로 정렬하기 글 작성 이유 코딩테스트 문제를 풀이하다가 HashMap을 Value 기준으로 정렬해야 할 상황이 발생 내용 정렬을 하기 위해서는 List 형태로 Map을 가져와야 한다. 그러므로 Map.entrySet()을 이용하여 아래와 같이 Map의 EntrySet을 List 형태로 저장하고 이 EntrySet을 정렬하는 방법을 사용한다. Map map = new HashMap(); map.put("a", 3); map.put("b", 2); map.put("c", 1); List entryList = new LinkedList(map.entrySet()); Entry 내장 함수 사용 먼저 Map.Entry에 있는 comparingByValue() 함수를 사용하여 아래와 같이 정렬할 수 있다. Map map = n.. Language/Java 2023. 3. 19. Java Deque란?? 덱(Deque)은 어떤 쪽으로 입력하고 어떤 쪽으로 출력하느냐에 따라서 스택(Stack)으로 사용할 수도 있고, 큐(Queue)로도 사용할 수 있다. 특히 한쪽으로만 입력 가능하도록 설정한 덱을 스크롤(scroll)이라고 하며, 한쪽으로만 출력 가능하도록 설정한 덱을 셸프(shelf)라고 한다. Java에서의 Deque 자바에서의 덱은 인터페이스로 구현되었다. 덱 자료구조의 여러 연산들을 정의한 Deque 인터페이스가 있고 이를 구현한 ArrayDeque, LinkedBlockingDeque, ConcurrentLinkedDeque, LinkedList 등의 클래스가 있다. addFirst( ) 덱의 앞쪽에 엘리먼트를 삽입한다. 용량 제한이 있는 덱의 경우, 용량을 초과하면 예외(Exception)가 발.. Language/Java 2022. 12. 14. 멀티캠퍼스 15일차 (완) 한줄 코드는 { } 생략이 가능하다. 01. Exception Exception 예외발생 ~ 처리 예외전과 예외만들기 System.out.println(e.getMessage()); 에러 발생 이유를 보여주는 print 메소드 e.printStackTrace(); 에러 발생 이유를 디테일하게 보여주는 메소드 (위치, 이유 등) System.out.println(e.getMessage()); 보다 많이 사용함‼️ 01-1. 예외발생 ~ 처리 📕Exception-1(클릭하여 예제보기) 📕Exception-2(클릭하여 예제보기) 📕Exception-3(클릭하여 예제보기) try-catch문 try에 오류가 발생할만한 문장 삽입 catch에 오류발생시 어떻게 처리할지 입력 ERROR가 많으면 catch를 추가해.. Language/Java 2022. 10. 31. 'Do it 자바 프로그래밍 입문' 15장 정리(완) 스트림 자바에서의 모든 입출력을 담당 일종의 가상 통로 입출력 장치는 다양하기 때문에 호환성을 높이기 위해 사용 자료를 읽어 들이려는 소스(source)와 자료를 쓰려는 대상(target)에 따른 스트림이 다름 입/출력 스트림 스트림은 단뱡향으로 자료가 이동하기에 입/출력을 동시에 할 수 없다. ‼️ InputStream이나 Reader로 끝나는 이름의 클래스는 입력 스트림 FileInputStream, FileReader, BufferedInputStream, BufferedReader 등 ‼️ OutputStream이나 Writer로 끝나는 이름의 클래스는 출력 스트림 FileOutputStream, FileWriter, BufferedOutputStream, BufferedWriter 등 바이트 단.. Language/Java 2022. 10. 31. 멀티캠퍼스 13~14일차 01. Collection 📕Collention(클릭하여 예제보기) 📕은행계좌 프로그램(클릭하여 예제보기) Collection 자료형구조를 바탕으로 객체들을 효율적으로 추가, 삭제 검색 할 수 있다. 02. List List (interface) 순서가 있는 상태로 저장, 중복허용 ArrayList Vector LickedList(queue) Stack 02-1. ArrayList‼️ 📕Collection-ArrayList-1(클릭하여 예제보기) 📕Collection-ArrayList-2(클릭하여 예제보기) 📕Collection-ArrayList-3 (클릭하여 예제보기) List (interface)의 ArrayList import를 해주어야 함 배열과 다르게 크기가 지정되어 있지 않음 .add( ) :.. Language/Java 2022. 10. 28. 멀티캠퍼스 12일차 상속 받을 때 예약어 extends : 같은것들 끼리 상속 받을 때 public class extends class{} public interface extends interface{} implements : 클래스가 인터페이스를 상속 받을 때 public class implements interface{} public interface implements class{} // 이렇게 쓰는 경우는 없다. 불가능!! 01. 인터페이스 📕인터페이스-1(클릭하여 예제보기) 📕인터페이스-2(클릭하여 예제보기) 인터페이스 public static final 상수와 public abstract 함수로 구성 public 보다 낮은 접근제한자를 작성할 수 없다. 자기 자신의 객체를 만들 수 없다. 02. import 📕.. Language/Java 2022. 10. 26. 멀티캠퍼스 11일차 접근제한자 표시 + : public - : private # : protected 01. 상속 📕상속-1(클릭하여 예제보기) 📕상속-2(클릭하여 예제보기) 📕super( )(클릭하여 예제보기) 📕UpCasting(클릭하여 예제보기) 상속 상속하고자 하는 클래스의 자료를 공통적으로 사용 할 때 사용 protected를 사용하는게 좋음 protected : 같은 패키지 내부 or 상속받은 클래스에서 사용가능한 접근제한자 super. 지역변수에서의 활용 상속받은 클래스의 자료를 사용할때 사용하는 예약어 this.를 사용하는 것 보다 가독성이 좋다. super( ) 상속하는 클래스의 생성자를 사용할 때 사용 해당 생성자와 형식을 동일하게 ( ) 안에 작성해야 한다. 상속하는 클래스에 생성자가 존재하지 않으면, .. Language/Java 2022. 10. 25. 멀티캠퍼스 10일차 보통 객체명은 클래스명의 소문자로 작성한다. this( ) 일반적인 this랑은 완전히 다른 기능 생성자 간에 서로 호출하는 기능 생성자의 이름으로 클래스 이름 대신 this를 사용 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 호출이 가능 static(정적) 블록 정적 블록 내에서는 인스턴스 변수나 인스턴스 메소드 사용이 안됨 사용하려면 객체를 생성하고 사용해야함 Class Static{ int x; static String y="str"; static String z; static { Static s=new Static(); x=10; // 오류발생 ERORR s.x=10; //정상작동 method(); //오류발생 ERORR s.method(); //정상작동 } 데이터 접근 방법 1... Language/Java 2022. 10. 24. 이전 1 2 3 다음 💲 추천 글 728x90 반응형