본문 바로가기

Java26

[자바] split 사용 방법 코딩테스트 새로운 버전으로 readline()을 사용하게 되면서 split에 대해 헷갈리는 부분이 있었다. "a, b, c" 라는 문자를 받으면 나는 그걸 쪼개서 ["a", "b", "c"]라는 문자배열로 만든 후 가공해야 한다. 단순하게 나는 아래와 같이 생각했다. String[] cars = Console.readLine().split(","); 이러면 알아서 쪼개 들어갈 줄 알았다 ^^..(민망) 하지만 내가 원하는 값을 얻으려면 String answer = Console.readLine(); String[] args = answer.split(","); 위와 같이 입력된 값을 String 으로 받고, 쪼개서 배열에 입력해주어야 한다. 가끔 내가 이렇게 생각이 짧을 때가 있다. 허허.. 2023. 10. 31.
날라가서 다시 쓰는 글.... 큐에 대한 이해를 돕기 위해 프로그래머스 문제를 가지고 왔다. 문제 풀이 순서 1. 남은 작업 일수를 구하기(큐로 저장) 2. 배포 순서 계산하기 3. return값에 넣기 import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { List answer = new ArrayList(); Queue queue = new LinkedList(); //작업 일수 구하기 for(int i =0; in).toArray(); } } 메소드 1. 삽입 add() : 삽입에 성공하면 true 반환. offer() : 삽입만 함 2.삭제 poll() : 큐의 첫 번째 원소 반환 후 큐.. 2023. 8. 13.
필터 필터는 서블릿 필터라고도 하며 리스너와 마찬가지로 웹 앱을 지원하기 위한 특수한 형태의 서블릿이다. 클라이언트의 특정 요청에 따라 서블릿이나 JSP가 실행되기 전에 response 혹은 request 객체의 조작이나 추가적인 처리를 할 수 있다. 여러 개의 필터는 정해진 순서대로 요청 처리 전에 먼저 실행된다. 리스너처럼 기능만 구현하는 웹 프로그램의 경우에는 필터가 불필요하다. 하지만 앱 설계 관점에서 더 효과적인 앱 구현 및 운영이 필요하다고 판단되면 필터를 이용하는 것이 좋다. 필터의 구조와 동작 과정 필터는 톰캣 서버를 시작할 때 필터 구현 클래스의 어노테이션을 참조하여 인터페이스를 구현한 클래스가 초기화된다. 또한 필터는 여러 개 존재할 수 있으며 필터는 각각 init() 메소드를 통해 초기화한.. 2023. 8. 10.
리스너 리스너는 컨테이너를 모니터링하다가 특정 이벤트가 발생하면 실행되는 서블릿으로 이벤트 리스너라고도 한다. Web Application 실행에 필요한 정보를 제공하거나 톰캣 시작/종료와 같은 특정 상황에 자동으로 동작하는 프로그램을 구현할 때 사용한다. 리스너 또한 서블릿처럼 어노테이션 기반 코드로 작성 가능하다. 리스너의 동작 구조는 위의 그림과 같다. 클라이언트 요청에 따라 서블릿을 통해 Session, Request 객체가 생성되거나 속성의 변화가 발생하면(이벤트 발생) 컨테이너에서 이벤트를 감지한다. 그리고 해당 이벤트를 처리하는 리스너 클래스의 메소드를 호출한다. 리스너의 종류 ServletContextListener - 톰캣의 시작, 종료와 같은 이벤트에 동작 ServletContextAttrib.. 2023. 8. 10.